1

我有一个应用程序,我希望用户在其中点击文本字段,输入他们的搜索查询,然后点击键盘的 Return(或此处,搜索)按钮。这样做应该会触发一个 segue,并将prepareForSegue方法中的一些数据发送到下一个控制器。

此方法当前由 UIButton 触发,并且工作正常,但我希望在键盘上点击 Search 时发生完全相同的事情,因此我可以删除按钮并简化流程。

我试过调用(委托[self prepareForSegue]textFieldShouldReturn)方法,但没有奏效。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString: @"DisplaySearchResults"]) {
        SearchResultsViewController *searchResultsViewController = [segue destinationViewController];
        searchResultsViewController.searchQuery = _searchQuery;
    }
}
4

1 回答 1

4

你应该打电话

[self performSegueWithIdentifier:@"DisplaySearchResults" sender:self];

在 textFieldShouldReturn 中。

prepareForSegue 将在 performSegueWithIdentifier 之后自动调用。

于 2012-11-03T14:47:52.350 回答