2015-01-05 57 views
1

我加入了通過Interface Builder中UISearchDisplayController,然後我添加了UISearchBarnavigationBar這樣的UISearchBar子視圖奇怪的行爲

self.searchDisplayController.displaysSearchBarInNavigationBar = YES; 

它的工作原理和看起來很好。然後我想要做的就是將子視圖添加到searchBar(充當佔位符圖像)。我這樣做

[self.searchDisplayController.searchBar addSubview:self.imageView]; 

問題是,imageView不可見。我NSLogsuperview和我得到一個確認,它是searchBar。我還可以看到searchBar有1 subview,但是當我登錄subview時,它告訴我它是...鼓卷... searchBar本身。

這怎麼可能?

編輯

有趣的是,如果我添加了searchBarnavigationBar作爲一個子視圖和添加我imageView,它是可見的。問題是隻有當searchBarnavigationBar加上self.searchDisplayController.displaysSearchBarInNavigationBar = YES時。

+0

顯示您的代碼或屏幕截圖。 –

+0

我已經提供了我認爲與此問題相關的代碼。你還希望看到什麼? – artooras

+0

是否調整過你的imageView frame大小。 –

回答

1

下面是我如何解決它 - 我希望這可以幫助別人。有關將searchBarnavigationBar這樣

self.searchDisplayController.displaysSearchBarInNavigationBar = YES; 

奇怪的是,「didLayoutSubviews」在viewController被調用兩次,即searchDisplayController添加searchBarnavigationBar與延遲,我是不是能夠捕捉通過現有的委託方法。

我最終什麼事做,而不是被我的imageViewzIndex設置爲最大

self.imageView.layer.zPosition = MAXFLOAT; 

所以即使searchDisplayController添加searchBarnavigationBar有延誤,imageView仍停留在頂端。