Библиотека Three20 - подкласс TTPhotoViewController имеет непрозрачную панель навигации
Вопрос
Я использую подкласс TTPhotoViewController из библиотеки Three20 для показа изображений из веб-местоположения.Изображения загружаются нормально, но панель навигации и панель инструментов отображаются с оттенком по умолчанию.Я использую навигационную панель с пользовательским оттенком (заданным в MainWindow.xib).
Я пробовал эти штуки, чтобы заставить его показывать черные полупрозрачные полосы, но, похоже, ничего из этого не работает.
- установка стиля панели навигации на черный полупрозрачный в MainWindow.xib
- установка стиля панели навигации на черный непрозрачный в MainWindow.xib
- Явная настройка стиля панели навигации на черный полупрозрачный в viewWillAppear подкласса:
Может кто-нибудь, пожалуйста, сказать мне, почему это могло произойти и как я могу это решить?Спасибо.
Решение
Редактировать: Я идиот.Вы пытаетесь установить Стиль, не тот цвет.Ниже приведена вся достоверная информация, но то, что вы почти наверняка хотите, это navigationBarStyle
свойство определяется TTViewController
.Извините.
В Three20 встроен механизм "таблицы стилей", предназначенный для того, чтобы избавить вас от необходимости устанавливать оттеночные цвета, шрифты и т.д.на всех многочисленных объектах пользовательского интерфейса в вашем приложении, снова и снова.Однако, если вы не знаете, что он там есть, вы окажетесь именно в такой ситуации.Что вам нужно сделать, это:
Создайте подкласс из TTDefaultStyleSheet
в вашем приложении и переопределите, по крайней мере, этот метод:
- (UIColor*)navigationBarTintColor {
return RGBCOLOR(119, 140, 168);
}
Где-то в вашем приложении (возможно applicationDidFinishLaunching:
), позвонить:
[TTStyleSheet setGlobalStyleSheet:
[[[YourStyleSheetClass alloc] init] autorelease]];
(Возможно, вы захотите просмотреть в TTDefaultStyleSheet.h
, потому что там определена целая куча других стилей, которые используются фреймворком и которые вы, возможно, также захотите переопределить.)