UISearchBar的becomeFirstResponder返回0,但是对UISearchBar有有效的引用

Gor*_*las 1 iphone uisearchbar first-responder ios

我有一个带UISearchBar(和SearchDisplayController)的UIViewController以及一个UITableView.导航到此视图控制器时,我想自动对焦于UISearchBar(将焦点放在搜索栏中的文本字段上以调出键盘).一切都说要用

[searchBar becomeFirstResponder]
Run Code Online (Sandbox Code Playgroud)

(假设searchBar是UISearchBar的出口)

我把它放在viewDidLoad的末尾:

- (void)viewDidLoad
{
    [super viewDidLoad];

    BOOL did = [searchBar becomeFirstResponder];

    [searchBar setText:@"donkey"];
}
Run Code Online (Sandbox Code Playgroud)

变量did为0(并且不会发生焦点),但搜索栏的文本已成功更改为donkey.

我究竟做错了什么?

我正在使用带有ARC的iOS 5和最新的Xcode(4.3.2).

Gor*_*las 8

搞定了.只需将它放在viewDidAppear而不是viewDidLoad或viewWillAppear中.