2013-07-09 21 views
0

我正在開發一個具有自定義導航欄的iPhone應用程序。這裏是我的代碼:帶Retina的自定義UINavigationBar的UIBarMetrics值

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIImage *testNav = [UIImage imageNamed:@"Test Nav Bar 320 wide.png"]; 
    [self.navigationController.navigationBar setBackgroundImage:testNav forBarMetrics:UIBarMetricsDefault]; 
} 

當我運行應用程序它看起來很好。不過,我也有導航欄的視網膜版本。當我更換:

@"Test Nav Bar 320 wide.png"

與視網膜圖形:

@"Test Nav Bar 640 wide.png"

導航欄變得太大了,並跑出畫面。

我在做什麼錯?它有什麼做的:以iOS開發

forBarMetrics:UIBarMetricsDefault

我是相當新的,任何幫助將是非常讚賞。

回答

0

蘋果公司使用命名爲convention的圖像,允許系統輕鬆識別用於不同平臺(例如視網膜與非視網膜,iPad與iPhone)的圖像,而無需任何努力(提供圖像除外)用戶的一部分。

對您的情況,只需將您的圖像命名爲navbar.png和視網膜版本[email protected]。使用[UIImage imageNamed:@"navbar.png"]啓動您的圖像,系統將自動選擇正確的圖像(即使您從未在任何地方提及[email protected]!)。

+0

修復它。謝謝! –

相關問題