Измените оттенок навигационной панели и панели инструментов в контроллере Popover с помощью навигационного контроллера в качестве представления - PullRequest
2 голосов
/ 07 января 2011

У меня UINavigationController в качестве основного вида моего UIPopoverController. Я хочу изменить оттенок цвета панели навигации и панели инструментов, но не могу заставить его работать.

Кто-нибудь может указать мне правильное направление?

Вот код, который у меня на месте, который не работает. Где цветовая схема = [UIColor colorWithRed: 0,228 зеленый: 0,307 синий: 0,492 альфа: 1000] Вот результат из заявления NSLOG: Цветовая схема = UIDeviceRGBColorSpace 0,228 0,307 0,492 1

    self.navController = [[UINavigationController alloc]
                      initWithRootViewController:serversMenu];
NSLog(@"Color Scheme = %@", self.appDelegate.colorScheme);
self.navController.navigationBar.tintColor = self.appDelegate.colorScheme;
self.navController.toolbar.tintColor = self.appDelegate.colorScheme;

self.navController.navigationBar.translucent = YES; 
UIPopoverController *poc = [[UIPopoverController alloc] initWithContentViewController:self.navController];
poc.delegate = serversMenu;
serversMenu.mainPopOver = poc;
[poc release];

Спасибо

Rob

Ответы [ 2 ]

4 голосов
/ 07 января 2011

Это прекрасно работает:

AboutViewController *avc = [[AboutViewController alloc] init];

UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:avc] retain];

avc.navigationController.navigationBar.tintColor = [UIColor greyColor]; /* or whatever color you choose */
toolbar.tintColor = [UIColor greyColor];

Зависит от того, как вы решите создать UIPopoverController

0 голосов
/ 05 февраля 2011

Это ошибка ... и вот ваше исправление ... Создайте подкласс UINavigationBar с помощью этого единственного нового метода:

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

Я собираюсь выйти наконечность и скажите, что это ошибка в обновлении PopOver / SplitView для iOS 4.2.x ... Я говорю «ошибка», потому что я настроил ее так же, как вы, и под 4.1 он работает, как и ожидалось.Теперь, под 4.2.x, он изначально выглядит хорошо, но как только вы откроете masterView в поповере, а затем вернетесь к двойному разделению, панель навигации masterView станет серебряной (по умолчанию ios), и никакое количество ударов молотка не получит masterView.Сброс оттенка navbar к вашей цветовой схеме ...

Я не совсем уверен, как лучше всего выразить это в форме сообщения об ошибке, учитывая, что я сам не до конца понимаю,Но он использовал для работы, и мы не делаем ничего сумасшедшего!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...