当前位置: 首页 > 知识库问答 >
问题:

删除UITextField中的最后一个字符

束俊英
2023-03-14

如果字符计数超过200,我正在尝试删除UIText字段中的最后一个字符。但它没有效果:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
        print(textField.text?.characters.count)
        if (textField.text?.characters.count > 200){
            self.textField.shake()
            self.textField.becomeFirstResponder()
            self.textField.text?.characters.dropLast()
        }
        return true
    }

共有3个答案

长孙阳州
2023-03-14

试试这个:

let string = self.textField.text?.characters.dropLast()
self.textField.text = String(string)
吴和硕
2023-03-14

您可以使用以下任一方法移除文本字段文本字符的最后一个元素:

let myString = "Hello!"
let result1 = myString.substringToIndex(myString.endIndex.advancedBy(-1)) // Hello

var anotherString = "World!"
let result2 = String.init(anotherString.characters.dropLast()) // World

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
  var newString = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)
  print(newString.characters.count)
  if newString.characters.count > 200{
    self.textField.shake()
    self.textField.becomeFirstResponder()
    self.textField.text = String.init(newString.characters.dropLast())
    //or self.textField.text = newString.substringToIndex(newString.endIndex.advancedBy(-1))
  }
  return true
}
东门玺
2023-03-14
    func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool // return NO to not change text
{

    let textFieldString = textField.text! as NSString;

    var newString = textFieldString.stringByReplacingCharactersInRange(range, withString:string)

    if newString.characters.count > 200 {

// This will remove just last character, If u want to remove all the characters starting from 201st character pass 200 to substringToIndex method
        newString = newString.substringToIndex(newString.endIndex.advancedBy(-1))
        textField.text = newString

        return false
    }

   return true

}
 类似资料:
  • 问题内容: 当您必须遍历一个集合并用分隔符分隔每个数据的字符串时,总是总是在末尾有一个额外的分隔符,例如 给出类似以下内容: serverId_1,serverId_2,serverId_3, 我想删除StringBuilder中的最后一个字符(不进行转换,因为在此循环之后我仍然需要它)。 问题答案: 其他人指出了该方法,但这是另一种替代方法: 或者,使用Guava中的类:) 从Java 8开始,

  • 问题内容: 在互联网上浏览后,我来了。 假设我已经制作了一个文本文件,内容为: 好吧,我想从此文本文件中删除最后一个字符(在本例中为)。 因此,现在文本文件应如下所示: 但是我不知道该怎么做。 我所需要的或多或少是对HDD上文本文件的单个退格功能。 这需要在Linux上工作,因为这就是我正在使用的。 问题答案: 用于从末尾寻找1个位置,然后用于删除文件的其余部分: 这对于单字节编码工作正常。如果您

  • 问题内容: 从字符串中删除最后一个字符的最快方法是什么? 我有一个像 我想删除最后一个’,’并取回剩下的字符串: 最快的方法是什么? 问题答案: 首先,我尝试没有空格,并得到一个错误结果。 然后,我添加一个空格并获得良好的结果:

  • 问题内容: 我在SQL表中有一个文本备注字段,如果它是逗号,则需要删除该字段中的最后一个字符。 因此,例如,如果我有这些行,则需要从第2行和第4行中删除逗号。 输出为: 有任何想法吗? 问题答案: 使用和: 首先,您希望您的数据摆脱前导和尾随空格。然后检查第一个字符是否为。如果是的话,将其删除,否则什么也不做。然后又回来了。您可以使用删除第一个字符。 SQL小提琴

  • 问题内容: 在我的应用程序中,我将附加一个字符串以创建路径以生成URL。现在,我想在按“后退”按钮时删除该附加字符串。 假设这是字符串: 现在我想要一个这样的字符串: 我怎样才能做到这一点? 问题答案: 您可以使用相同的方法

  • 问题内容: 有没有一种快速的方法来删除Swift中String中的最后两个字符?我看到有一个简单的方法来删除最后一个字符作为明确指出这里。您知道如何删除最后两个字符吗?谢谢! 问题答案: 更新: Xcode 9•Swift 4或更高版本 字符串现在符合RangeReplaceableCollection,因此您可以直接在字符串中使用收集方法dropLast,因此不再需要扩展。唯一的区别是它返回一个