2014-03-14 30 views
0

UINavigationBar顯示iPhone 4上的2個背景圖像。一個位於中間。但其中一個是Bigger,位於UINavigationBar的右側。我在iPhone 5上測試過,並沒有發生。任何建議請。UINavigation bar顯示2個重疊背景iPhone 4中的圖像

請參閱

http://s27.postimg.org/5jvzqp04z/header.png

我很抱歉我像沒有足夠的聲譽張貼在這裏的形象。

+0

你可以添加你的UINavigationBar的圖像,所以你的問題將清楚給我們。謝謝 – Irfan

回答

0

嘗試這種情況:

navigationBar.translucent = NO,則它是YES默認在iOS7。

請閱讀本UINavigationBar的文檔:

iOS上的新行爲7.默認值是YES。您可以通過將屬性設置爲NO來強制背景不透明。如果導航欄有一個自定義背景圖像,則默認值是從圖像的alpha值推斷的 - 如果它具有帶alpha的任何像素,則爲YES < 1.0如果將setTranslucent:YES發送到具有不透明自定義背景圖像的條形圖,它將應用圖像的系統不透明度小於1.0。如果將setTranslucent:NO發送到具有半透明自定義背景圖像的條形圖,則它將使用條形圖的barTintColor(如果已定義)爲圖像提供不透明背景,如果barTintColor爲零,則會爲UIBarStyleBlack提供黑色或對於UIBarStyleDefault爲白色。

如果您在具有較舊iOS版本的設備/模擬器中運行項目,則設置'navigationBar.translucent'值會導致異常。

添加一個版本檢查這樣的:

float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; 
if (systemVersion >= 7.0) 
{ 
navigationBar.translucent = NO; 
} 

另一種選擇是設置這樣的:

vc.edgesForExtendedLayout = UIRectEdgeNone;

希望這會幫助你。歡呼:)

+0

感謝您的意見,並抱歉遲到的答覆。我試過你的代碼。但似乎沒有改變。該問題發生在iPhone 4和iPad上,但不在iPhone 5上。我會添加我的問題的形象。希望看到更多的建議。 – pmp

+0

是的確定添加圖像,它將使我們徹底瞭解您的情況。 – Irfan

+0

請檢查下面的鏈接可能它會幫助你:http://stackoverflow.com/questions/13814654/custom-uinavigationbar-works-on-simulator-but-not-on-released-version http://stackoverflow.com/questions/11886644/custom-styling-of-uinavigationbar-not-working-properly http://stackoverflow.com/questions/18990283/ios-7-navbar-colours-not-showing-properly-on-iphone-4 http ://stackoverflow.com/questions/6851984/semitransparent-background-image-png24-for-uinavigationbar-only-shows-transpar – Irfan