如何更改TTNavigator(用于网址)底栏颜色?

时间:2011-09-22 11:15:12

标签: three20 uinavigationbar 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 个答案:

答案 0 :(得分:1)

更改工具栏的颜色和样式应使用TTStyleSheet类完成。

首先,您应该将TTDefaultStyleSheet扩展到您自己的类,并包含这些函数来更改UINavigationBar和更低UIToolbar的颜色:

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark -
#pragma mark TTDefaultStyleSheet


///////////////////////////////////////////////////////////////////////////////////////////////////
- (UIColor*)navigationBarTintColor {
  return RGBCOLOR(0, 60, 30);
}


///////////////////////////////////////////////////////////////////////////////////////////////////
- (UIColor*)toolbarTintColor {
  return RGBCOLOR(0, 60, 30);
}

然后你应该将你的样式表类加载到你的app delegate:

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

答案 1 :(得分:0)

Thanx aporat, 这是我做的事情 -

  1. 创建了一个新类(就像创建了新的viewcontroller一样) 名称Stylesheet.hStylesheet.m
  2. #import <Three20Style/Three20Style.h>档案
  3. 中导入.h
  4. UIViewController替换为TTDefaultStyleSheet
  5. .m文件中我将方法navigationBarTintColortoolbarTintColor
  6. 放在一起
  7. 在项目委托文件中首先导入Stylesheet.h然后在我- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions [TTStyleSheet setGlobalStyleSheet:[[[Stylesheet alloc] init] autorelease]]; {{1}}的第一行导入{{1}}
  8. 这就是:)。