如何防止UISearchBar在活动时成为最顶层的视图?

时间:2014-12-10 13:45:51

标签: ios uikit uisearchbar uisearchcontroller

我目前将searchBar的默认UISearchBarController设置为tableHeaderView的{​​{1}}。

UITableView实例是UITableView的属性(tableView),除此之外,我还有一个单独的UITableViewController,它会在任何视图上投下投影在它下面。像这样:

With Drop Shadow

但是,只要UIViewController变为活动状态,它就会成为最顶层的视图,因此我会丢失搜索栏上的阴影,如下所示:

Without Shadow

在调用委托方法UISearchBar之后似乎UISearchBar被带到了前面,所以我无法弄清楚何时可以改变它的位置在视图层次结构中。

有什么方法可以改变这个吗?

1 个答案:

答案 0 :(得分:0)

为了防止UISearchBar出现在最前面,需要在UITableViewController viewDidLoad

中设置以下内容
self.definesPresentationContext = YES;

来自文档:

@property(nonatomic, assign) BOOL definesPresentationContext
  

一个布尔值,指示当视图控制器或其后代之一呈现视图控制器时是否覆盖此视图控制器的视图。   可用性