1

我的应用程序可以在运行 iOS 4.1 但在 iOS 4.2 上运行的 iPhone 上正常运行。我将 UIInputField 设置为第一响应者,但键盘没有显示。becomeFirstResponder 在 vi​​ewDidLoad 方法中被调用。这是一个错误还是苹果做出了巨大的改变?我正在使用 Xcode 3.2.5。

4

3 回答 3

2

输入字段是否启用了用户交互?现在在 iOS 4.2 中是必需的。

于 2010-12-01T02:52:15.833 回答
1

-viewDidLoad在您的视图首次初始化时调用,不一定在显示时调用。试着-becomeFirstResponder在里面打电话-viewDidAppear:

 - (void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear:animated];

     [myField becomeFirstResponder];
 }
于 2010-12-01T02:59:02.983 回答
0

在 Apple 开发者论坛 (https://devforums.apple.com/message/325348#325348) 上找到了一个帖子,其中描述了解决方案。在调用 becomeFirstResponder 之前,最好在 viewDidLoad 方法中将 UITextField 属性 userInteractionEnabled 设置为 YES。

于 2010-12-01T07:56:31.263 回答