我的应用程序在运行iOS 4.1的iPhone上运行,但在iOS 4.2运行时无效。我有一个UIInputField设置为第一响应者但键盘没有显示。在viewDidLoad方法中调用becomeFirstResponder。这是一个错误还是苹果公司做出了重大改变?我正在使用Xcode 3.2.5。
答案 0 :(得分:2)
输入字段是否启用了用户交互?这在iOS 4.2中是必需的。
答案 1 :(得分:1)
-viewDidLoad
,而不一定在显示时调用。请尝试在-becomeFirstResponder
内调用-viewDidAppear:
:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[myField becomeFirstResponder];
}
答案 2 :(得分:0)
在Apple开发者论坛(https://devforums.apple.com/message/325348#325348)中找到了一个解决方案。在调用becomeFirstResponder之前,将UITextField属性userInteractionEnabled设置为YES,最好是在viewDidLoad方法中。