displaysSearchBarInNavigationBar

displaysSearchBarInNavigationBar

我正在尝试使用iOS7 displaysSearchBarInNavigationBar类中的UISearchDisplayController属性在导航栏中显示搜索栏。

使用AdvancedTableSearch example from Apple作为基础,我更改了代码以禁用范围(导航栏中不允许使用),并将displaysSearchBarInNavigationBar设置为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属性是nil

最佳答案

从表格 View 中删除搜索栏。使用displaysSearchBarInNavigationBar意味着UISearchDisplayController将为您将搜索栏放置在层次结构中。

同样,navigationItem将为零,直到displaysSearchBarInNavigationBar设置为YES。仅在需要时才创建该项目。

关于ios - UISearchDisplayController.displaysSearchBarInNavigationBar将搜索栏置于窗口中间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18980955/

10-11 07:41