Изменить цвет фона для UIButton IPhone - PullRequest
1 голос
/ 20 июля 2010

У меня проблема. Я использую кнопку как BarButtonItem. Пока он работает нормально, но мой backgroundcolor работает, только если я нажимаю на кнопку. Как я могу сделать так, чтобы мой цвет фона был установлен каждый раз?

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

Ответы [ 4 ]

0 голосов
/ 16 января 2014

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];
0 голосов
/ 03 мая 2012

Вы можете использовать эту строку кода для панели навигации

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

для использования кнопки

там навигационная кнопка.

0 голосов
/ 08 ноября 2012

Попробуйте использовать эту кнопку вместо:

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 голосов
/ 02 сентября 2011

Возможно, вам придется setTintColor для UIBarButtonItem: Как тонировать цвет фона UIBarButtonItem?

...