Как изменить цвет нижней панели 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, вот что я сделал

  1. Создан новый класс (просто как новый viewcontroller) с именем Stylesheet.h а также Stylesheet.m
  2. импортный #import <Three20Style/Three20Style.h> в .h файл
  3. заменены UIViewController с TTDefaultStyleSheet
  4. в .m файл я положил методы navigationBarTintColor а также toolbarTintColor
  5. в файле делегата проекта сначала я импортировал Stylesheet.h затем на 1-й строке - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions я размещен [TTStyleSheet setGlobalStyleSheet:[[[Stylesheet alloc] init] autorelease]];

ВОТ И ВСЕ:)

Другие вопросы по тегам