2010-07-20 86 views
1

我遇到问题。我使用一个按钮作为BarButtonItem。它迄今为止工作正常,但我的backgroundcolor只有当我点击我的按钮时才起作用。我怎样才能让我的backgroundcolor每次都会被设置?更改UIButton IPhone的背景颜色

UIButton *redEmergencyButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; 
redEmergencyButton.frame = CGRectMake(100, 100, 100, 50); 

redEmergencyButton.backgroundColor = [UIColor colorWithRed:0.8 
                 green:0.898039215686274509803 
                 blue:1.0 
                 alpha:1.0];  
[redEmergencyButton setTitle:@"Emergency" 
        forState:UIControlStateNormal]; 

[redEmergencyButton addTarget:self 
         action:@selector(doEmergency) 
       forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *rButton = [[UIBarButtonItem alloc] 
      initWithCustomView:redEmergencyButton]; 
+0

为什么'blue:5.0'? – kennytm 2010-07-20 07:30:21

+1

5倍于1! :) – willcodejavaforfood 2010-07-20 07:46:06

+0

对不起,是蓝色的:1.0 – lightwave 2010-07-20 09:21:46

回答

0

您可以使用此行代码为您导航栏

[self.navigationcontroller.navigationbar setTintColor:[UIColor bluecolor]]; 

的按钮使用

导航按钮那里。

+0

如果我的回答对你有帮助,然后提供给其他人,并勾选这个答案,并对我的信件感到抱歉,你可以自己纠正它。谢谢 – vishiphone 2012-05-03 05:25:09

0

尝试使用此按钮来代替:

UIBarButtonItem* emergencyButton = [[UIBarButtonItem alloc]initWithTitle:@"Emergency" style:UIBarButtonItemStyleBordered target:self action:@selector(doEmergency)]; 
[emergencyButton setTintColor: [UIColor colorWithRed:0.8 
                green:0.898039215686274509803 
                blue:1.0 
                alpha:1.0]; 
0

UIButtonTypeRoundedRect在iOS7过时,使用UIButtonTypeCustom而不是为您定制的bgcolor。

UIButton *redEmergencyButton = [[UIButton buttonWithType:UIButtonTypeCustom] retain]; 
redEmergencyButton.frame = CGRectMake(100, 100, 100, 50); 

redEmergencyButton.backgroundColor = [UIColor colorWithRed:0.8 
                 green:0.898039215686274509803 
                 blue:1.0 
                 alpha:1.0];  
[redEmergencyButton setTitle:@"Emergency" 
        forState:UIControlStateNormal]; 

[redEmergencyButton addTarget:self 
         action:@selector(doEmergency) 
       forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *rButton = [[UIBarButtonItem alloc] 
      initWithCustomView:redEmergencyButton];