ios - 通过点击键盘上的搜索来触发 segue

标签 ios keyboard uistoryboard segue

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

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

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

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

最佳答案

你应该打电话

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

在 textFieldShouldReturn 中。

prepareForSegue 将在 performSegueWithIdentifier 之后自动调用。

关于ios - 通过点击键盘上的搜索来触发 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13210141/

相关文章:

ios - NSURLResponse - 如何获取状态码?

ios - 协议(protocol)和委托(delegate)之间的区别?

c - 在给定键盘事件的情况下,在 C 中实现键盘缓冲区

javascript - 强制使用自定义/货币模式的 iOS 数字键盘

ios - 使用用户定义的运行时属性旋转(角度)UIView

ios - Swift/如何修复 : TableView bottom cells missing in size of the UINavigationBar

ios - UIDatePicker 被剪切

javascript - 使用虚拟键盘 JavaScript 获取文本字段的 ID

ios - 从不在 Storyboard 上的 uiview 和 uiviewcontroller 启动 segue

ios - UITableView:如何只实现一行与其他行不同