如何在ObjC中普遍更改UIAlertController按钮颜色

时间:2016-02-11 11:17:45

标签: ios objective-c uialertview uialertcontroller uialertaction

此问题类似于this

但是,我不想改变每个UIAlertController中的颜色,而是想像'AppDelegate'那样改变它的通用性。因此,如果我在一个地方更改颜色,则所有警报控制器操作按钮都应更改为新颜色。我的问题是:

  1. 可以从AppDelegate进行吗?如果没有,我该怎么办?
  2. Apple会批准在所有iOS版本中将按钮颜色更改为自定义吗?

3 个答案:

答案 0 :(得分:5)

是的,这是可能的。在AppDelegate中添加以下行,所有UIAlertControllers都将设置色调颜色!

[[UIView appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor blackColor]];

答案 1 :(得分:1)

是的,你可以做到。做一件事:

  1. 制作UIAlertController类的子类MyAlertController
  2. viewDidLoad方法写入<。li>中的.m文件中

    self.view.tintColor = [UIColor requiredColor];

    它会改变按钮颜色。它会起作用:))

答案 2 :(得分:0)

下面是.h文件

@interface MyAlertController : UIAlertController

@end

下面是.m文件

@interface MyAlertController ()

@end

@implementation MyAlertController

- (void)viewDidLoad
{

[super viewDidLoad];
    self.view.tintColor = [UIColor redColor];

}