我得到了一个TextView
应该在按下按钮时显示的内容,并让用户通过键盘输入文本。
- (IBAction) changeName {
changeNameBtn.hidden = YES;
backBtn.hidden = YES;
usernameLabel.hidden = NO;
inputTextField.hidden = NO;
[inputTextField becomeFirstResponder]; // to show keyboard
}
这对我们大多数人来说都很好。
但是在地理位置偏远的地方,我的一些测试人员没有显示键盘。如何解决这个问题?我们设备的不同行为可能是什么原因?它对我和其他人都很好。我们都使用相同的设备(iPod、iOS 4.1 - 5.1)。
我尝试的第一件事没有用:
becomeFirstResponder
我猜想 inputTextField 在被触发之前确实以某种方式没有及时可见,所以我添加了setNeedsDisplay
,因为我认为这会强制更新。
[inputTextField setNeedsDisplay];
[inputTextField becomeFirstResponder];
我尝试的第二件事没有用:
if([inputTextField canBecomeFirstResponder]){
[inputTextField becomeFirstResponder];
}
我尝试的第三件事是一种解决方法,要求不幸的用户按下该字段:
- (IBAction) inputTextFieldTouch {
[inputTextField becomeFirstResponder];
}
此解决方法有效,但必须有更好的方法。请告诉我我做错了什么!:) 以及如何在自己无法复制的情况下解决此类问题?