Как изменить цвет нижней панели TTNavigator (для веб-ссылки)?
Вот код, который я сделал, чтобы открыть сайт через TTNavigator-
- (IBAction)btnTemp_Click{
TTNavigator* navigator = [TTNavigator navigator];
navigator.supportsShakeToReload = YES;
navigator.persistenceMode = TTNavigatorPersistenceModeAll;
[navigator openURLAction:[[TTURLAction actionWithURLPath:@"http://www.google.com"] applyAnimated:YES]];
}
и здесь я смог управлять его элементами навигации, цветом и т. д.
- (void)addSubcontroller:(UIViewController *)controller animated:(BOOL)animated transition:(UIViewAnimationTransition)transition
{
[self.navigationController addSubcontroller:controller animated:animated transition:transition];
UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
[btnBack setImage:[UIImage imageNamed:@"navback.png"] forState:UIControlStateNormal];
[btnBack addTarget:self action:@selector(popThisView) forControlEvents:UIControlEventTouchUpInside];
[btnBack setFrame:CGRectMake(0, 0, 32, 32)];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack];
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack];
[controller.navigationItem setLeftBarButtonItem:backBarButtonItem animated:YES];
[btnBack release];
TT_RELEASE_SAFELY(backBarButtonItem);
}
но я не могу изменить цвет нижней панели, которая имеет задние, задние, стоп и обновить бутоны.
Кто-нибудь, пожалуйста, помогите. Это должно быть сделано, потому что я видел это в разных цветах во многих приложениях.
2 ответа
Решение
Изменение цвета и стиля панелей инструментов должно выполняться с использованием класса TTStyleSheet.
Во-первых, вы должны расширить TTDefaultStyleSheet до вашего собственного класса и включить эти функции, чтобы изменить цвета для обоих UINavigationBar
и нижний UIToolbar
:
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark -
#pragma mark TTDefaultStyleSheet
///////////////////////////////////////////////////////////////////////////////////////////////////
- (UIColor*)navigationBarTintColor {
return RGBCOLOR(0, 60, 30);
}
///////////////////////////////////////////////////////////////////////////////////////////////////
- (UIColor*)toolbarTintColor {
return RGBCOLOR(0, 60, 30);
}
Затем вы должны загрузить свой класс таблицы стилей в делегат приложения:
[[[TTStyleSheet setGlobalStyleSheet:[[[StyleSheet alloc] init] autorelease]];
Спасибо Aporat, вот что я сделал
- Создан новый класс (просто как новый viewcontroller) с именем
Stylesheet.h
а такжеStylesheet.m
- импортный
#import <Three20Style/Three20Style.h>
в.h
файл - заменены
UIViewController
сTTDefaultStyleSheet
- в
.m
файл я положил методыnavigationBarTintColor
а такжеtoolbarTintColor
- в файле делегата проекта сначала я импортировал
Stylesheet.h
затем на 1-й строке- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
я размещен[TTStyleSheet setGlobalStyleSheet:[[[Stylesheet alloc] init] autorelease]];
ВОТ И ВСЕ:)