2012-02-23 56 views
0

我有以下代码:问题改变UIToolbar tintColor

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization  
     webControlsToolbar_ = [[UIToolbar alloc] init]; 
     [self.webControlsToolbar_ setTintColor:[UIColor colorWithRed:246.0/255.0 green:246.0/255.0 blue:246.0/255.0 alpha:1]]; 

任何想法,为什么颜色仍然是黑色实?在我看来没有负载我添加了工具栏:

self.webControlsToolbar_.frame = CGRectMake(0, self.view.frameHeight - self.webControlsToolbar_.frameHeight + 1.0, self.view.frameWidth, self.webControlsToolbar_.frameHeight); 
     [self.view addSubview:self.webControlsToolbar_]; 
+1

您可以显示代码显示工具栏的位置吗?此外,为什么工具栏初始化了两次? – Aaron 2012-02-23 20:30:33

+0

编辑上面的代码,双重初始化只是一个输入错误 – adit 2012-02-23 20:33:48

+0

'self.webControlsToolbar_'是一个IBOutlet吗? – Aaron 2012-02-23 20:36:54

回答

-1

你必须改变在viewDidLoad方法这个属性:

-(void)viewDidLoad{ 
    [super viewDidLoad]; 
    //Custom initialization 
    [self.webControlsToolbar_ setTintColor:[UIColor colorWithRed:246.0/255.0 green:246.0/255.0 blue:246.0/255.0 alpha:1]]; 

} 
+0

做到了这一点,并没有工作 – adit 2012-02-23 20:49:27

0

我遇到过类似的问题。我通过在代码中显示工具栏之前立即设置色调来解决它。看看是否适合你。

0

我觉得它更容易设置一个按钮,标签等的背景颜色正是我想用工具栏,然后创建被称为插座说,myOutlet,并做到这一点:

[self.webControlsToolbar_ setTintColor:myOutlet.backgroundColor]; 
0

的问题是在该行

self.webControlsToolbar_.frame = CGRectMake(0, self.view.frameHeight - self.webControlsToolbar_.frameHeight + 1.0, self.view.frameWidth, self.webControlsToolbar_.frameHeight); 

尝试NSLog a self.webControlsToolbar_.frameHeight财产,你应该看到这是零后[UIToolBar new];改为使用一个恒定的高度。

+0

这与设置色调颜色有什么关系?它打印44 BTW – adit 2012-02-23 21:45:48