gpt4 book ai didi

ios - UISearchController 搜索栏文本在失去焦点时消失

转载 作者:行者123 更新时间:2023-12-01 19:56:35 28 4
gpt4 key购买 nike

我在 UITableView 的标题中使用 UISearchController 的 UISearchBar。我的搜索工作正常,因为当我在搜索栏的字段中输入一些文本时,所有相关方法都会被调用,并且表格 View 会按预期显示正确的搜索结果。

当我想点击其中一个结果来对其执行某些操作时,问题就出现了。一旦我点击其中一个表格 View 单元格,搜索栏中的字段就会变为空。由于搜索文本现在为空,因此搜索结果将更新, TableView 将重新加载,结果为零。因此,点击表格单元格不会执行任何操作,因为表格单元格已不存在。

我可以通过更新我的 updateSearchResultsForSearchController: 方法来解决大部分问题,以便在搜索字符串为空时不更新搜索结果。这很好用。但无论如何,我仍然希望搜索文本保留在搜索字段中,这是我问题的关键......

为什么我的搜索文本从搜索字段中消失?当我点击其他地方时,如何防止搜索字段变空?

以下是我设置搜索栏和搜索 Controller 的方法:

- (void)viewDidLoad {
[super viewDidLoad];

searcher = [[UISearchController alloc] initWithSearchResultsController:nil];
searcher.searchResultsUpdater = self;
searcher.delegate = self;
searcher.definesPresentationContext = YES;
resultsTable.tableHeaderView = searcher.searchBar;

编辑:我注意到表格 View 单元格变暗,而搜索栏具有焦点。所以我认为搜索 Controller 正在捕获所有触摸,并且可能将它们作为“取消”操作进行处理。如果是这样,我该如何阻止它以这种方式取消?

最佳答案

想通了。我需要添加:

searcher.obscuresBackgroundDuringPresentation = NO;

关于ios - UISearchController 搜索栏文本在失去焦点时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42034292/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com