【问题标题】:UISearchController searchResultsController disappears when searchbar text is empty搜索栏文本为空时 UISearchController searchResultsController 消失
【发布时间】:2015-08-26 01:17:12
【问题描述】:

我有一个 UISearchController 在点击搜索栏时显示它的 searchResultsController(这是另一个视图控制器)。我使用这个 UISearchController 委托方法来做到这一点:

-(void)presentSearchController:(UISearchController *)searchController {

    dispatch_async(dispatch_get_main_queue(), ^{
        searchController.searchResultsController.view.hidden = NO;
    });
}

但是,每当搜索栏的文本为空时,无论是通过手动删除所有文本还是点击小 x 按钮,searchResultsController 视图都会消失,直到我再次开始输入文本。任何想法为什么会发生这种情况?当 searchbar.text 为空时,是否有其他方法或委托方法被触发?

【问题讨论】:

    标签: ios objective-c uisearchbar uisearchcontroller


    【解决方案1】:

    所以在昨天摆弄了一段时间之后,这是我发现的解决方案,最终奏效了。我想我会发布它以防其他人有同样的问题!

    -(void)presentSearchController:(UISearchController *)searchController {
    
        //forces searchResultsController to appear when searchBar tapped
            dispatch_async(dispatch_get_main_queue(), ^{
                searchController.searchResultsController.view.hidden = NO;
            });
    }
    
    -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
    
        //Prevents searchController from disappearing
        if ([searchText isEqualToString:@""])
        {
            [self presentSearchController:self.searchController];
        }
    }
    

    【讨论】:

    • 固体溶液。希望 Apple 推出更内置的方法来做到这一点。
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多