当showsScopeBar = YES时,iOS8上的UISearchBar高度

Ger*_*eon 13 uisearchbar ios ios8

我正在使用UISearchBar我的应用程序showsScopeBar=YES.当在iOS8下运行时(在模拟器和设备上),范围栏被隐藏,搜索栏的高度保持在44而不是预期的88.使用Xcode 6中的新视图调试器我可以看到范围栏实际上是目前,但仍然隐藏在文本字段后面.

到目前为止我找到的唯一方法是手动将搜索栏的高度设置为88,这当然是一个可怕的黑客.

我错过了一些记录不兼容的内容,或者这是一个错误?

小智 23

我也遇到了这个问题.在Apples开发者论坛上搜索后,我找到了这个主题:https: //devforums.apple.com/thread/235803?start = 0&tstart = 0

显然,SearchBar也不会自动执行sizeToFit.所以它的高度保持在44而不是调整到范围按钮.这个bug在iOS8 GM中没有修复.

我在viewWillAppear中做了一个简单的[self.searchBar sizeToFit]:这解决了它.

  • 我得到了一个修复.像我在这里提到的那样刷新tableview标题http://stackoverflow.com/a/25970731/1544494解决了这个问题. (2认同)

meg*_*gha 8

此问题也发生在iOS 8发行版中.我在viewWillAppear中添加了这两行:并解决了这个问题.

- (void)adjustSearchBarToShowScopeBar{ [self.searchBar sizeToFit]; self.tableView.tableHeaderView = self.searchBar; } 只是添加[self.searchBar sizeToFit]掩盖了我的tableview的第一行.只需刷新tableview标题即可完美解决问题.