2013-07-09 22 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

修复它。谢谢! –

相关问题