UISearchBar子视图的奇怪行为

时间:2015-01-05 10:44:16

标签: ios objective-c uisearchbar subview

我已经通过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,则可见。只有imageViewsearchBar添加到navigationBar时才会出现此问题。

1 个答案:

答案 0 :(得分:1)

这是我如何解决它 - 我希望这有助于某人。将searchBar添加到navigationBar这样的奇怪之处

self.searchDisplayController.displaysSearchBarInNavigationBar = YES;

是&#39; didLayoutSubviews&#39;在viewController中被调用两次,即searchDisplayControllersearchBar添加到navigationBar,延迟时间无法通过现有的委托方法捕获。

我最终做的是将zIndex的{​​{1}}设置为最大值

imageView

因此,即使self.imageView.layer.zPosition = MAXFLOAT; 延迟searchDisplayController添加searchBarnavigationBar仍会保持最佳状态。