我正在尝试使用删除键来执行空格键通常执行的操作。换句话说,当用户在UITextField中单击删除时,我想要显示一个空格。
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let char = string.cString(using: String.Encoding.utf8)!
let isBackSpace = strcmp(char, "\\b")
if (isBackSpace == -92) {
print("Delete was pressed")
return false
}
return true
}
我知道这只会禁用删除键,但我该如何继续前进?此外,该空格将替换所选文本(总是会选择一些文本)。
答案 0 :(得分:0)
textField
参数是用户正在使用的文本字段。无论你喜欢什么,你都可以自由地去那里。因此,除了返回false
之外,在此之前,请将text
的{{1}}更改为您想要的任何内容。
如果您要执行的操作是在文本中添加空格,则可以轻松获取textField
,在该字符串后附加空格,然后设置textField.text!
。或者,如果您想用空格替换当前选择,而不是让它被删除,请使用textField.text
参数textField.text
执行此操作,告诉您空间应该去哪里。
换句话说,如果您对如何使用字符串一无所知,那么您可以将此作为此方法的一部分用于range
字符串。
还有其他使用UITextInput协议的方法,它允许你假装是键盘。例如,只是说textField.text
可能会给你想要的结果,但你必须尝试并查看。