ios – UISearchDisplayController.displaysSearchBarInNavigationBar将搜索栏放置在窗口的中间

前端之家收集整理的这篇文章主要介绍了ios – UISearchDisplayController.displaysSearchBarInNavigationBar将搜索栏放置在窗口的中间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_1@我试图在iOS7 UISearchDisplayController类中使用displaysSearchBarInNavigationBar属性显示导航栏中的搜索栏.

使用AdvancedTableSearch example from Apple作为基础,我已将代码更改为禁用范围(导航栏中不允许),并将showsSearchBarInNavigationBar设置为true,如此.

- (void)viewDidLoad
{
   [super viewDidLoad];

   // create a mutable array to contain products for the search results table
   self.searchResults = [NSMutableArray arrayWithCapacity:[self.products count]];
   self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
}

不幸的是,我得到的结果如下所示:

搜索栏出现在屏幕中间,而不是在navigationItem中.

我究竟做错了什么?

PS:我不确定它是否相关,但self.searchDisplayController.navigationItem属性为零.

解决方法

从表格视图中删除搜索栏.使用displaysSearchBarInNavigationBar意味着UISearchDisplayController将负责将搜索栏放在层次结构中.

此外,navigationItem将为nil直到showsSearchBarInNavigationBar设置为YES.该项目仅在需要时创建.

猜你在找的iOS相关文章