iOS中的警报控制器按钮颜色

时间:2017-05-02 22:00:54

标签: ios objective-c uialertcontroller

我有以下实现,实际上是带有两个按钮的警报。它的工作和功能。

我唯一的问题是为这两个按钮提供不同的颜色。现在,它只有一种颜色是红色。但我希望其中一个是绿色的,另一个是红色的。

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Message" message:nil preferredStyle:UIAlertControllerStyleAlert];

[alert addAction:[UIAlertAction
                  actionWithTitle:@"Cancel"
                  style:UIAlertActionStyleDefault
                  handler:^(UIAlertAction * action)
                  {

                  }]];


[alert addAction:[UIAlertAction
                  actionWithTitle:@"Apply"
                  style:UIAlertActionStyleDefault
                  handler:^(UIAlertAction * action)
                  {
                  }]];

alert.view.tintColor = [UIColor redColor];

1 个答案:

答案 0 :(得分:2)

你可以这样做:

- (void)viewDidLoad {
   [super viewDidLoad];
   // Do any additional setup after loading the view, typically from a nib.


  UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Message" message:nil preferredStyle:UIAlertControllerStyleAlert];

  UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"Default" style:UIAlertActionStyleDefault handler:nil];
  [defaultAction setValue:[UIColor redColor] forKey:@"_titleTextColor"];


  UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];
  [cancelAction setValue:[UIColor greenColor] forKey:@"_titleTextColor"];

  [alertController addAction:defaultAction];
  [alertController addAction:cancelAction];

  [self presentViewController:alertController animated:YES completion:nil];
}

Running effect;否则,如果您使用UIAlertView而不是UIAlertController,则需要自定义警报视图。