Библиотека Three20 - подкласс TTPhotoViewController имеет непрозрачную панель навигации - PullRequest
7 голосов
/ 31 октября 2009

Я использую подкласс TTPhotoViewController из библиотеки Three20 для показа изображений из Интернета. Изображения загружаются нормально, но панель навигации и панель инструментов отображаются с оттенком по умолчанию. Я использую навигационную панель с пользовательским оттенком (установленным в MainWindow.xib)

Я пробовал эти вещи, чтобы показать черные полупрозрачные полосы, но ни одна из них, похоже, не работает.

  1. установка стиля панели навигации на черный полупрозрачный в MainWindow.xib
  2. установка стиля панели навигации на черный непрозрачный в MainWindow.xib
  3. Явно устанавливая стиль панели навигации на черный полупрозрачный в представлении подклассаWillAppear:

Может кто-нибудь сказать мне, почему это произошло и как я могу решить это? Спасибо.

1 Ответ

15 голосов
/ 02 ноября 2009

РЕДАКТИРОВАТЬ: Я идиот. Вы пытаетесь установить стиль , а не цвет. Ниже приведена вся действительная информация, но вам почти наверняка понадобится свойство navigationBarStyle , определенное TTViewController. К сожалению.


Three20 имеет встроенный механизм «таблиц стилей», цель которого состоит в том, чтобы снова и снова избавлять вас от необходимости задавать цвета оттенков, шрифты и т. Д. Для всех объектов пользовательского интерфейса в вашем приложении. Однако, если вы не знаете, что это там, вы окажетесь именно в такой ситуации. Что вам нужно сделать, это:

Создайте подкласс TTDefaultStyleSheet в своем приложении и переопределите по крайней мере этот метод:

- (UIColor*)navigationBarTintColor {
  return RGBCOLOR(119, 140, 168);
}

Где-то в вашем приложении (вероятно, applicationDidFinishLaunching:), звоните:

[TTStyleSheet setGlobalStyleSheet:
  [[[YourStyleSheetClass alloc] init] autorelease]];

(Возможно, вы захотите просмотреть в TTDefaultStyleSheet.h, потому что там определена целая куча других стилей, которые используются каркасом, и которые вы также можете переопределить.)

...