1

我正在使用 Xcode 4.3.3 和 iOS 5.1 开发 iPad 应用程序。

我有一个 UITextField 作为导航栏的 titleView(在故事板中),连接到这样的插座:

@property (weak, nonatomic) IBOutlet UITextField *textFieldName;

在我的 viewDidLoad 实现结束时,我调用:

[self.textFieldName becomeFirstResponder];

而且……什么也没有发生。我可以点击 UITextField 来激活它,但在视图启动时似乎无法激活该字段。

背景:在前一个视图(UITableView)中添加一行后,我将继续使用此视图,并且如果通常显示为视图标题的内容为空,我希望启用文本字段。也就是说,在我的数据库中创建新行时,我希望用户的第一个操作是输入标题。我对其他方法持开放态度,但仍想知道如何完成所述问题。

编辑

我可以通过调用来让它工作:

 [self.navigationItem.titleView becomeFirstResponder];
4

1 回答 1

0

您的代码应该可以工作。

我猜您可能缺少一个简单的步骤,例如添加 UITextFieldDelegate。我只是建议通过每个步骤并尝试找出哪些不起作用。如果这不起作用,请发布您的 Xcodeproj,我(或其他人)可以仔细查看。

于 2012-07-06T02:41:11.960 回答