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

用户不能删除textfield中作为文本的给定符号

路思源
2023-03-14

func textField(textField:UITextField,shouldChangeCharactersInRange range:NSRange,replacementString String:String)->Bool{返回true}

我必须限制用户删除此符号从textfield在Swift。用户可以从textfield中删除任何东西而不删除此符号。

共有1个答案

杨昆
2023-03-14

由于最有可能的情况是Euro符号将始终在textfield中并且将是第一个字符,因此我将检查要更改的字符范围是否大于0并且从0开始。(无论第一个位置的符号是什么,这都将起作用)

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    if range.length>0  && range.location == 0 {
            return false
    }
    return true
}

但是,如果欧元符号并不总是在文本字段中,则可以通过获取对用户正在更改的字符串的引用并检查其中是否包含欧元符号来检查用户是否正在删除此符号:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    if range.length>0  && range.location == 0 {
        let changedText = NSString(string: textField.text!).substringWithRange(range)
        if changedText.containsString("€") {
            return false
        }
    }
    return true
}
 类似资料:
  • del key1 key2 ....keyN 返回1表示存在,0不存在

  • 问题内容: 如何删除文本文件中的特定字符串? 问题答案: 找到文件。 创建一个临时文件(否则,您必须先将所有内容读取到Java的内存中)。 确定字符集。 确定您要删除的字符串。 打开文件进行读取。 打开临时文件进行写入。 逐行读取文件。 从行中删除字符串。 将其写入临时文件。 关闭读取器和写入器(最好在块中)。 删除文件。 重命名临时文件。 也可以看看: Java教程-课程:基本I / O

  • 我有文件在上传/project ect1/更新。 问题是,只删除更新中的文件。我想删除文件夹上载中的目录。。。也就是说,文件夹名“project1”和“update”在更新中的文件被删除后也会被删除。你能帮我找出错误吗?? 这个编码发出警告 警告:clocdirer()期望参数1为资源, 警告:rmdir(update)[function.rmdir]:没有这样的文件或目录。。 但是在目录上传中,

  • 使用getID3,有时标签中有特殊字符(带问号的小黑钻),但我似乎无法删除它们 我尝试了这里的一切 PHP:如何删除字符串中所有不可打印的字符? 在数据库(phpMyAdmin)中,当打印出来时,它们显示为??在数据的开头。 问题是,我根本不希望这些字符出现在数据库中(无论它们是否正确显示或显示为问号) 但是,我尝试过的所有代码都不会删除PHP中的这些特殊字符

  • 默认行为是字段中的提示文本在字段被聚焦时被擦除。这是当标记在字段中时。 是否可以配置文本字段,以便仅在用户开始键入时删除提示文本? 否则,我需要在每个文本字段旁边/上方添加一个标签,以描述其中的值。

  • 问题内容: 尝试删除不为空的文件夹时,出现“访问被拒绝”错误。我尝试使用以下命令:。 删除/删除不为空的文件夹/目录的最有效方法是什么? 问题答案: 标准库参考:shutil.rmtree。 根据设计,在包含只读文件的文件夹树上失败。如果要删除该文件夹而不管它是否包含只读文件,请使用