2013-07-09 5 views
0

Я занимаюсь разработкой приложения iPhone с пользовательской навигационной панелью. Вот код, который у меня есть:Значение UIBarMetrics для пользовательского UINavigationBar с Retina

- (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"

бар нав становится слишком большим и убегает экран.

Что я делаю неправильно? Есть ли у него что-то делать с:

forBarMetrics:UIBarMetricsDefault

Я довольно новыми для развития IOS и любая помощь будет наиболее высокую оценку.

ответ

0

Apple использует имя convention для изображений, которые позволяют системе легко идентифицировать изображения, предназначенные для разных платформ (например, Retina vs. Non-Retina, iPad против iPhone) без каких-либо усилий (за исключением предоставления изображений) на часть пользователя.

В вашем случае просто укажите свое изображение navbar.png и версию Retina [email protected]. Инициируйте изображение с помощью [UIImage imageNamed:@"navbar.png"], и система автоматически выберет правильное изображение (даже если вы никогда не упоминаете [email protected] в любом месте!).

+0

Это исправлено. Благодаря! –

Смежные вопросы