我已经通过Interface Builder添加了UISearchDisplayController
,然后我将UISearchBar
添加到navigationBar
这样的<{p}}
self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
它的工作和看起来很好。我当时想要做的是向searchBar
添加子视图(充当占位符图像)。
[self.searchDisplayController.searchBar addSubview:self.imageView];
问题是,imageView
不可见。我NSLog
superview
,我确认它是searchBar
。我还可以看到searchBar
有1 subview
,但是当我记录subview
时,它会告诉我它是...鼓点...... { {1}}本身。
这怎么可能?
修改
有趣的是,如果我将searchBar
添加到searchBar
作为子视图并添加navigationBar
,则可见。只有imageView
被searchBar
添加到navigationBar
时才会出现此问题。
答案 0 :(得分:1)
这是我如何解决它 - 我希望这有助于某人。将searchBar
添加到navigationBar
这样的奇怪之处
self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
是&#39; didLayoutSubviews&#39;在viewController
中被调用两次,即searchDisplayController
将searchBar
添加到navigationBar
,延迟时间无法通过现有的委托方法捕获。
我最终做的是将zIndex
的{{1}}设置为最大值
imageView
因此,即使self.imageView.layer.zPosition = MAXFLOAT;
延迟searchDisplayController
添加searchBar
,navigationBar
仍会保持最佳状态。