Three20 biblioteca - subclasse de TTPhotoViewController tem uma barra de navegação opaca
Pergunta
Eu estou usando uma subclasse TTPhotoViewController da biblioteca Three20 para mostrar imagens de um local web. As imagens carregar até bom, mas a barra de navegação e barra de ferramentas aparecer com a tonalidade padrão. Eu estou usando uma barra de navegação com um tom personalizado (definido no MainWindow.xib)
Eu tentei essas coisas para obtê-lo para mostrar bares preto translúcido mas nenhuma delas parece funcionar.
- definir o estilo da barra de navegação para translúcida preta em MainWindow.xib
- definir o estilo da barra de navegação para preto opaco em MainWindow.xib
- explicitamente definindo o estilo NavigationBar para translúcida preta em viewWillAppear da subclasse:
Alguém por favor pode me dizer por que isso iria acontecer e como posso resolver isso? Obrigado.
Solução
EDIT: eu sou um idiota. Você está tentando definir o estilo , não a cor. O abaixo é toda a informação válida, mas o que você quase certamente deseja é propriedade navigationBarStyle
definido pela TTViewController
. Desculpe.
Three20 tem um mecanismo de "folha de estilo" embutido, a finalidade do que é para salvar você de ter de cores matiz conjunto, fontes, etc, sobre todos os muitos objetos de interface do usuário em seu aplicativo, mais e mais. No entanto, se você não sabe que está lá, você acaba exatamente nesta situação. O que você precisa fazer é:
Criar uma subclasse de TTDefaultStyleSheet
em seu aplicativo, e substituir, pelo menos este método:
- (UIColor*)navigationBarTintColor {
return RGBCOLOR(119, 140, 168);
}
Em algum lugar em seu aplicativo (provavelmente applicationDidFinishLaunching:
), chamada:
[TTStyleSheet setGlobalStyleSheet:
[[[YourStyleSheetClass alloc] init] autorelease]];
(Você pode querer navegar ao redor na TTDefaultStyleSheet.h
, porque há uma pilha de outros estilos definidos lá que são usados ??pelo quadro, e que você também pode querer substituir.)