4

在iOS 7中,我在UINavigationController的導航欄中顯示UIBarButtonItem。該的UIBarButtonItem有縱向圖像和橫向的圖像:具有縱向和橫向圖像的UIBarButtonItem可能會顯示橫向的縱向圖像

// "self" refers to the UINavigationController 
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:portraitImage landscapeImagePhone:landscapeImage style:UIBarButtonItemStylePlain target:nil action:NULL]; 

如果你只是旋轉界面,正確的圖像用於接口方向。但是,如果UINavigationController的視圖首先以橫向顯示(例如,通過以橫向顯示橫向或者忽略橫向覆蓋橫向的視圖控制器),則將使用肖像圖像!這是爲什麼發生?這是一個框架錯誤?如果是這樣,是否有辦法解決這個問題,所以風景圖像將始終顯示爲橫向?

+0

你在ipad上測試嗎? – Mike

+0

@Mike不,iPhone。 – user2135004

回答

0

我有這個相同的問題。

我在UIBarButtonItem with separate portrait and landscape images - layoutSubviews not called when popping a view controller from UINavigationController找到了一個解決方案,聽起來很有希望,但它對我不起作用。我將改變方向變化的圖像。如果發現更好的東西,請發佈您的解決方案。

風景圖像一直在UIToolbar上工作,但不是UINavigationBar。使用UINavigationBar,我遇到了問題。我也有問題,如果我點擊橫向按鈕,它會更改爲其肖像版本。