IPAD - UISplitViewController's MainWindow NavigationBar tintColor Проблема - PullRequest
2 голосов
/ 03 декабря 2010

Проблема:

TintColor панели навигации mainWindow возвращается к серому цвету каждый раз, когда я переключаю iPad в портретный режим и показываю всплывающее окно.

Детали:

  • Я создал приложение из Xcode 3.2.5 и выбрал приложение на основе Split-View.
  • Я изменил навигационную панель tintColor файла MainWindow.xib на синий, используя конструктор интерфейса.
  • Затем я первоначально запускаю приложение в ландшафтном режиме, и tintColor показывается со значением синего на симуляторе.
  • Когда я изменил ориентацию на портрет и нажал кнопку, чтобы отобразить всплывающее окно MainWindow, его navBar сливается с границей всплывающего окна, игнорируя синий.
  • Но когда я вернул ориентацию в альбомный режим, цвет tintColor MainWindow вернется к своему первоначальному цвету - Серому. И я больше не могу редактировать его значение, даже если код записан в блок viewDidAppear.

Это ошибка? или мне нужно больше настроек, чтобы это работало?

Заранее спасибо

- Джо

Ответы [ 3 ]

4 голосов
/ 06 декабря 2010

Я нашел обходной путь на devforums.apple.com от hoodah, чтобы изменить класс панели навигации с помощью Interface Builder на код класса, приведенный ниже:

@interface iPadNavigationBar : UINavigationBar

@end

@implementation iPadNavigationBar

- (void)setTintColor:(UIColor *)tintColor
{
     // Bug workaround. 
     [super setTintColor:[self tintColor]];
}

@end

Надеюсь, это поможет ..

2 голосов
/ 04 января 2011

К сожалению, я отправил запрос в службу поддержки Apple, и они в основном сказали, что это известная проблема.

Я разместил исходный код с рабочим примером. http://realprogrammersdontgarbagecollect.blogspot.com/2011/01/splitviewcontroller-with-navigationbar.html

0 голосов
/ 06 декабря 2010

Я думаю, что это ошибка, и у меня тоже есть проблема. Если у вас небольшой тестовый пример, я бы посоветовал поднять его на форумах Apple.

...