我有一个应用程序,我希望用户点击文本字段,输入他们的搜索查询,然后点击键盘的Return(或这里,搜索)按钮。这样做应该触发segue,并将prepareForSegue
方法中的一些数据发送到下一个控制器。
这个方法目前正由UIButton触发,它工作正常,但我想在键盘上点击搜索时发生完全相同的事情,所以我可以删除按钮并简化流程。
我尝试在代理的[self prepareForSegue]
方法中调用textFieldShouldReturn
,但它没有用。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString: @"DisplaySearchResults"]) {
SearchResultsViewController *searchResultsViewController = [segue destinationViewController];
searchResultsViewController.searchQuery = _searchQuery;
}
}
答案 0 :(得分:4)
你应该致电
[self performSegueWithIdentifier:@"DisplaySearchResults" sender:self];
textFieldShouldReturn中的。
在performSegueWithIdentifier之后将自动调用prepareForSegue。