11

UINavigationItem的titleView屬性says的文檔:「如果leftBarButtonItem不爲零,則忽略此屬性。」UINavigationItem titleView「如果設置了leftBarButtonItem則被忽略」?

但是,我已經在我的測試中設置了titleViewleftBarButtonItem屬性,它們都顯示正常。我已經在我的Xcode中的所有模擬器上進行了測試:4.3,5.0和5.1。有誰知道文檔是否錯誤,或者在某些舊版本(如4.2,3.x)上無法正確測試?

回答

3

我認爲文檔是錯誤的,你應該提交一個錯誤報告。

8

檢查屬性leftBarButtonItems的文檔,它說:

如果沒有足夠的空間來顯示所有的陣列中的項目, 那些將重疊標題視圖(如果存在的話)或不顯示條形右側的按鈕 。

因此,titleView的說法可能不正確。

-1

我剛剛遇到了這個,發現了你做過的同樣的事情。我還注意到UINavigationItem的文檔在2011年最後更新,而UINavigationBar在iOS 5和iOS 6中都得到了更新,所以自從上次更新UINavigationItem文檔以來可能會改變這種行爲。

雖然很混亂。

注意到了這一點,以及中的UINavigationController的參考:

「導航控制器更新導航欄的中間如下:

...

如果新的頂層視圖控制器具有自定義標題視圖,導航欄顯示該視圖以代替默認標題視圖。要指定自定義標題視圖,請設置視圖控制器導航項的titleView屬性。「

由於有定義任何時候你在非根視圖leftBarByButton(後退按鈕),它肯定好像UINavigationItem文檔中的一個錯誤

0

我測試了在iOS6.1及IOS 7。我的UINavigationItem有一個非零的titleView和leftBarButtonItem,並且titleView和leftBarButtonItem都是可見的。我提出了一個雷達。

0

我也遇到過這個問題。在我的具體問題中,titleview和leftbar項目都會出現。但是,如果我有一個後退按鈕,那麼我的標題視圖會在推送中消失並使用默認標題。如果我有一個自定義的uibuttonitem設置爲左側,它工作正常。所以它似乎與後退按鈕有關。我最終通過設置標題屬性來解決問題,並且沒有執行自定義視圖。