是否有办法检测何时在空白的iPhone键盘上按下Backspace/ Delete键UITextField?我想知道什么时候Backspace只有在UITextField空的情况下被按下.
根据@Alex Reynolds在评论中提出的建议,我在创建文本字段时添加了以下代码:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleTextFieldChanged:)
name:UITextFieldTextDidChangeNotification
object:searchTextField];
Run Code Online (Sandbox Code Playgroud)
收到此通知(handleTextFieldChanged调用函数),但Backspace在空字段中按键时仍然不会.有任何想法吗?
这个问题似乎有些混乱.我想在Backspace按下键时收到通知.而已.但是当解决方案UITextField已经空了时,解决方案也必须工作.
我无法弄清楚哪些UITextField是当前活动的,所以我可以清除它的文本,如果他们点击取消UIBarButtonItem.这是我的代码.有一个视图UIPickerView,UIToolBar和两个栏按钮的项目.取消项目有一个动作,只会清除其文本我无法弄清楚如何得到正确的UITextField.
我试过这两个:
@IBAction func cancelText(sender: AnyObject) {
if self.truckYear.editing == true{
println("truckYear")
clearText(self.truckYear)
} else if self.truckMake.editing == true{
clearText(self.truckMake)
}
}
@IBAction func doneText(sender: AnyObject) {
pickerView.hidden = true
}
func clearText(textField:UITextField){
println("in clear text")
textField.text = nil
}
Run Code Online (Sandbox Code Playgroud)
和:
@IBAction func cancelText(sender: AnyObject) {
if self.truckYear.isFirstResponder(){
println("truckYear")
clearText(self.truckYear)
} else if self.truckMake.isFirstResponder(){
clearText(self.truckMake)
}
}
@IBAction func doneText(sender: AnyObject) {
pickerView.hidden = true
}
func clearText(textField:UITextField){
println("in clear …Run Code Online (Sandbox Code Playgroud) 有没有办法从iPhone收件箱(SMS)访问数据到ios应用程序进行自动OTP验证,如Android中的那样?我将非常感谢你的帮助.
我有一个使用故事板构建的UITextField.我想不允许用户更改光标的位置,并将其始终保留在文本末尾的文本字段中.
我尝试在触地事件中更改光标的位置,但是当选择文本字段然后再次触摸文本字段来更改光标的位置时,位置会更改:
- (IBAction)amountBoxTouchDown:(id)sender {
UITextPosition *start = [amountBox positionFromPosition:[amountBox beginningOfDocument] offset:amountBox.text.length];
UITextPosition *end = [amountBox positionFromPosition:start
offset:0];
[amountBox setSelectedTextRange:[amountBox textRangeFromPosition:start toPosition:end]];
}
Run Code Online (Sandbox Code Playgroud)
有谁知道解决方案?谢谢
我正在尝试使用五个textfield创建otp文本域.如果你添加顶部,所有工作正常,但是当用户尝试将textfield添加为空并尝试退格并且它没有调用我已经添加的UItextfiled的任何委托方法时发生问题.
我试过这个: -
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let char = string.cStringUsingEncoding(NSUTF8StringEncoding)!
let isBackSpace = strcmp(char, "\\b")
if (isBackSpace == -92) {
println("Backspace was pressed")
}
return true
}
Run Code Online (Sandbox Code Playgroud)
但是当textfield不为空时调用它.
例如 :-
在下面的屏幕截图中添加1和两个不同的文本字段,第三个是空的,但是当我尝试退格时,它需要进入第二个文本字段(第三个字段是空的)这是我面临的问题.
谢谢