Мне нужно предоставить отдельный файл png навигационной панели для ландшафтного режима iOS и как мне его показать?

Я использую раскадровку Xcode для демонстрации дизайна приложения (нефункциональный, я дизайнер и должен показывать для целей дизайна). Пока я создал необходимые png для панели навигации сверху и панели вкладок в портретном режиме. Моя панель навигации имеет размер 640px × 88px для сетчатки. Поэтому я предполагаю, что мне нужно будет создать еще один png в 1136px x 88px правильно? То же самое с вкладкой?

Как я могу показать это в раскадровке, чтобы при повороте симулятора он использовал большее изображение, предназначенное для пейзажа?

0
nl ja de
Я нахожусь в Xcode версии 4.5.2, вам нужно сделать это, чтобы поддерживать все iPhones/iPads.
добавлено автор PressRay, источник

1 ответы

Лучший способ настроить что-то универсальное (например, панель навигации, которая, вероятно, будет видна на нескольких экранах), это использовать [Внешний вид UINavigationBar] . Вы можете назначить ему фоновый фон для портретного режима следующим образом:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"name_of_portrait_png"] forBarMetrics:UIBarMetricsDefault];

А для пейзажа:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"name_of_landscape_png"] forBarMetrics:UIBarMetricsLandscapePhone];

Кроме того, я уверен, что это настройки, которые вы не сможете сделать/увидеть в своем раскадровке.

0
добавлено
Обычно я бы сказал «нет», но поскольку это макет, я думаю, что все в порядке. Внешний вид панели вкладок также настраивается - ознакомьтесь с этим руководством: felipecypriano.com/2012/02/27/…
добавлено автор Stavash, источник
Кстати, я хочу, чтобы больше дизайнеров взяли на себя инициативу и задали такие вопросы. почет
добавлено автор Stavash, источник
Хм ... Возможно, потому что это версия для iPad, а панель пейзажа меняет графику при работе на iPhone? В целом, UINavigationBars не изменяет размер на iPad, они имеют одинаковую высоту в ландшафте и портрете, поэтому вам может понадобиться позаботиться об этом случае по-другому (возможно, изображение с черепицей или растяжимое изображение)
добавлено автор Stavash, источник
Имеет смысл, хотя размеры для ландшафтной версии ошибочны - они должны быть 480x32
добавлено автор Stavash, источник
добавлено автор Stavash, источник
Спасибо, пока он появляется на симуляторе, все в порядке. Будет ли этот код идти в AppDelegate.m? Внутри этого блока? - (BOOL) приложение: (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions Как насчет Tabbar? благодаря
добавлено автор PressRay, источник
Спасибо, По-видимому, для меня почему-то не работало. Я протестировал его с помощью нового проекта> приложения с одним представлением, импортировал две панели навигации png в Supporting Files и поместил эти две строки кода в AppDelegate.m внутри этого первого (BOOL) блока. Я запускал симуляцию, но должен ли я сразу увидеть, что панель навигации появляется? (Извините, я новичок в Xcode ..) Приложение еще не заполнено. Заранее спасибо.
добавлено автор PressRay, источник
Дух, глупый я. Я ранее не добавлял объект панели навигации. Я добавил его в viewcontroller в Storyboard, и панель навигации появилась, но не пейзажная версия, когда я повернул ее. Просто черепицей.
добавлено автор PressRay, источник
Я сам оценил их как для iPhone, так и ввел их в проект только для iPhone. Мои файлы таковы: navigationbar.png (320x44) и navigationbar-landscape.png (480x44). И я включил эти имена файлов в код, который вы мне предоставили. Я буду продолжать ткнуть, но просто хотел сообщить вам, что я сделал, чтобы попробовать.
добавлено автор PressRay, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.