2013-05-15 108 views
0

我試圖在整個應用程序中自定義導航欄。 導航控制器已在IB中創建。 我使用下面的代碼將自定義圖像添加到欄中。圖像是320 x 44點。 此代碼是在applicationDidFinishLaunchingWithOptions的AppDelegate中:添加自定義背景圖片後導航欄太大

UIImage *navBackgroundImage = [UIImage imageNamed:@"Nav Image.png"]; 
    [[UINavigationBar appearance] setBackgroundImage:navBackgroundImage forBarMetrics:UIBarMetricsDefault]; 

的問題是,在模擬器上,酒吧現已覆蓋半個屏幕!並涵蓋了一大堆內容。我曾嘗試過在Photoshop中處理圖像尺寸的問題,但它有助於解決問題,但它們必須比通過反覆試驗和重建更容易。

是否有任何方便的方法來設置導航欄的大小?

任何幫助非常感謝!

+0

我認爲你錯誤地設置了視網膜圖像而不是標準圖像作爲導航欄 –

+0

圖像尺寸在添加自定義背景圖像時非常重要。請檢查解決方案http://stackoverflow.com/questions/1692487/how-to-add-background-image-on-iphone-navigation-bar/42479477#42479477 – Aamir

回答

0

快速解決方案:

轉到護理文件,並選擇UINavigationControler - >尺寸檢查 - >倒胃口會自動調整大小。

enter image description here

希望這會幫助你。

所有最好的!

+0

感謝您的回答。我不害怕。當我選擇它時,似乎沒有任何屬性來調整導航欄的大小。 –

0

也許這是一層光柵化問題:

檢查是否有:

layer.shouldRasterize = YES; 
layer.rasterizationScale = [UIScreen mainScreen].scale; 

地方在你的代碼,並嘗試註釋這些行。

(這些行通常與陰影鏈接以提高顯示時的性能)。