更改UIToolbar tintColor的问题

时间:2012-02-23 20:28:39

标签: iphone objective-c ios ipad

我有以下代码:

- (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_];

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我发现使用实用工具栏可以更方便地设置按钮,标签等的背景颜色,然后创建名为say,myOutlet的插座,并执行以下操作:

[self.webControlsToolbar_ setTintColor:myOutlet.backgroundColor];

答案 2 :(得分:0)

问题出在

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

尝试NSLog一个self.webControlsToolbar_.frameHeight属性,在[{1}}使用恒定高度后,您应该看到它为零。

答案 3 :(得分:-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]];

}