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

问题描述 投票:2回答:3

这个问题与this相似

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

  1. 是否有可能从AppDelegate做到这一点?如果没有,我该怎么办?
  2. Apple会批准在所有iOS版本中将按钮颜色更改为自定义吗?
ios objective-c uialertview uialertcontroller uialertaction
3个回答
5
投票

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

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

1
投票

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

  1. 制作一个UIAlertController类的子类说MyAlertController
  2. 在.az文件中的viewDidLoad方法写

self.view.tintColor = [UIColor requiredColor];

它会改变按钮的颜色。它会工作:)


0
投票

下面是.h文件

@interface MyAlertController : UIAlertController

@end

下面是.m文件

@interface MyAlertController ()

@end

@implementation MyAlertController

- (void)viewDidLoad
{

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

}
© www.soinside.com 2019 - 2024. All rights reserved.