HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – UISearchController searchBar在第一次点击时消失大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在TableView中实现了一个UISearchController,由一个导航控制器推送.

首先我的问题是每当我点击SearchBar时,它就会消失.当我输入一些文本时,它可以工作,但它保持完全空白.然后我设法使用此代码半@L_874_3@问题:

- (void)searchForText:(NSString*)searchText
{
    [self.view addSubview:villeSearchController.searchBar];
}

哪个半工作因为现在,当我点击搜索栏时,它会消隐,但是如果我输入一个字符,它会再次出现,然后它就会停留在那里,无论如何.直到我取消搜索,然后再次点击它,在这种情况下它会消隐.
做了一些测试,这个方法(searchForText)在第一次点击时被@L_696_9@,所以这不是原因.

有谁知道我如何@L_874_3@这个问题并让搜索栏从第一次点击出现?

编辑:

这是我初始化SearchController的方法

villeSearchController = [[UISearchController alloc]   initWithSearchResultsController:nil];
villeSearchController.searchResultsupdater = self;
villeSearchController.dimsBACkgroundDuringPresentation = NO;
villeSearchController.searchBar.delegate = self;
villeTableView.tableHeaderView = villeSearchController.searchBar;
villeSearchController.searchBar.scopeButtontitles = @[];
self.definesPresentationContext = YES;
[villeSearchController.searchBar sizeToFit];

解决方法

尝试检查navigationBar.translucent属性 – 当UISearchController将呈现searchBar时它应该是YES,否则将是UI错误.

来自@SiavA的更新

更好的解决方案是使用UIViewController的extendedLayoutIncludesOpaqueBars属性.如果您使用不透明导航栏,只需将其设置为true,即控制器将显示UISearchController(不适用于navigationController).

例如.

- (void)viewDidLoad {
    [super viewDidLoad];

    self.extendedLayoutIncludesOpaqueBars = !self.navigationController.navigationBar.translucent;
}

大佬总结

以上是大佬教程为你收集整理的ios – UISearchController searchBar在第一次点击时消失全部内容,希望文章能够帮你解决ios – UISearchController searchBar在第一次点击时消失所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。