UIAlertController 更改操作表的取消按钮的背景颜色

铅弹

我正在尝试使用操作表样式创建 UIAlertController,但我想将背景颜色更改为灰色。我已经能够找到一种方法来更改 UIAlertController 的背景颜色,但不是“取消”按钮。单独的取消按钮保持白色。

这是我现在拥有的代码:

UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];

[alert addAction:[UIAlertAction actionWithTitle:@"Option 1" style:UIAlertActionStyleDefault handler:nil]];
[alert addAction:[UIAlertAction actionWithTitle:@"Option 2" style:UIAlertActionStyleDefault handler:nil]];
[alert addAction:[UIAlertAction actionWithTitle:@"Option 3" style:UIAlertActionStyleDefault handler:nil]];
[alert addAction:[UIAlertAction actionWithTitle:@"Delete" style:UIAlertActionStyleDestructive handler:nil]];

[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];

UIView *firstSubview = alert.view.subviews.firstObject;
UIView *alertContentView = firstSubview.subviews.firstObject;

for (UIView *subSubView in alertContentView.subviews) {
    subSubView.backgroundColor = [UIColor darkGrayColor]; // Here you change background
}

alert.view.tintColor = [UIColor whiteColor];

[self.controller presentViewController:alert animated:YES completion:nil];

这给了我以下结果:链接

我已经访问了如何更改 UIAlertController 的背景颜色?但没有一个解决方案具有用于取消按钮背景的自定义颜色。

任何帮助,将不胜感激!

极客1706

您无法更改默认取消按钮样式的颜色。您需要为取消按钮创建自定义视图控制器,并将其设置为取消警报操作的内容视图控制器。这种方式可以单独保留取消按钮

在此处输入图片说明

let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)

alertController.addAction(UIAlertAction(title: "Option 1", style: .default, handler: nil))
alertController.addAction(UIAlertAction(title: "Option 2", style: .default, handler: nil))
alertController.addAction(UIAlertAction(title: "Option 3", style: .default, handler: nil))

alertController.addAction(UIAlertAction(title: "Delete", style: .destructive, handler: nil))

if let firstSubview = alertController.view.subviews.first, let alertContentView = firstSubview.subviews.first {
    for view in alertContentView.subviews {
        view.backgroundColor = .darkGray
    }
}

alertController.view.tintColor = .white

let cancelButtonViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "CancelButtonViewController")
let cancelAction = UIAlertAction(title: "", style: .cancel, handler: nil)
cancelAction.setValue(cancelButtonViewController, forKey: "contentViewController")

alertController.addAction(cancelAction)

present(alertController, animated: true, completion: nil)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查UIAlertController TextField以启用按钮

来自分类Dev

如何更改UIAlertController的高度?

来自分类Dev

通过工具栏按钮显示UIAlertController

来自分类Dev

具有UIAlertControllerStyle.ActionSheet的UIAlertController中的“取消”按钮

来自分类Dev

UIAlertController更改我的按钮颜色

来自分类Dev

LAContext更改UIAlertController按钮标题

来自分类Dev

在Swift中为UIAlertController设置背景颜色

来自分类Dev

UIAlertController和堆叠的UIAlert按钮

来自分类Dev

iOS UIAlertController粗体按钮在8.3中更改

来自分类Dev

在UIAlertController中按下了返回按钮

来自分类Dev

如何在UIAlertController中以编程方式更改特定按钮文本的颜色

来自分类Dev

更改UIAlertController所选按钮的颜色

来自分类Dev

在UIAlertController中更改标题的背景颜色(仅)

来自分类Dev

使用菜单按钮在tvOS上关闭UIAlertController

来自分类Dev

更改UIAlertController文本颜色

来自分类Dev

在UIAlertController中更改标题颜色

来自分类Dev

在Swift中更改UIAlertController上一个或特定按钮的颜色

来自分类Dev

更改UIAlertcontroller背景颜色

来自分类Dev

UIalertcontroller按钮序列

来自分类Dev

UIAlertController在按钮上单击

来自分类Dev

iOS 8:UIAlertController默认样式颜色

来自分类Dev

UIAlertController和堆叠的UIAlert按钮

来自分类Dev

UIAlertController的按钮在单击时更改其颜色。怎么解决?-斯威夫特

来自分类Dev

在Swift中更改UIAlertController上一个或特定按钮的颜色

来自分类Dev

更改UIAlertcontroller背景颜色

来自分类Dev

Swift-TVOS取消UIAlertController

来自分类Dev

UIAlertController在按钮上单击

来自分类Dev

Swift UIAlertController背景色

来自分类Dev

在 iOS 中更改 Alertview UIAlertController 按钮和标题颜色

Related 相关文章

  1. 1

    检查UIAlertController TextField以启用按钮

  2. 2

    如何更改UIAlertController的高度?

  3. 3

    通过工具栏按钮显示UIAlertController

  4. 4

    具有UIAlertControllerStyle.ActionSheet的UIAlertController中的“取消”按钮

  5. 5

    UIAlertController更改我的按钮颜色

  6. 6

    LAContext更改UIAlertController按钮标题

  7. 7

    在Swift中为UIAlertController设置背景颜色

  8. 8

    UIAlertController和堆叠的UIAlert按钮

  9. 9

    iOS UIAlertController粗体按钮在8.3中更改

  10. 10

    在UIAlertController中按下了返回按钮

  11. 11

    如何在UIAlertController中以编程方式更改特定按钮文本的颜色

  12. 12

    更改UIAlertController所选按钮的颜色

  13. 13

    在UIAlertController中更改标题的背景颜色(仅)

  14. 14

    使用菜单按钮在tvOS上关闭UIAlertController

  15. 15

    更改UIAlertController文本颜色

  16. 16

    在UIAlertController中更改标题颜色

  17. 17

    在Swift中更改UIAlertController上一个或特定按钮的颜色

  18. 18

    更改UIAlertcontroller背景颜色

  19. 19

    UIalertcontroller按钮序列

  20. 20

    UIAlertController在按钮上单击

  21. 21

    iOS 8:UIAlertController默认样式颜色

  22. 22

    UIAlertController和堆叠的UIAlert按钮

  23. 23

    UIAlertController的按钮在单击时更改其颜色。怎么解决?-斯威夫特

  24. 24

    在Swift中更改UIAlertController上一个或特定按钮的颜色

  25. 25

    更改UIAlertcontroller背景颜色

  26. 26

    Swift-TVOS取消UIAlertController

  27. 27

    UIAlertController在按钮上单击

  28. 28

    Swift UIAlertController背景色

  29. 29

    在 iOS 中更改 Alertview UIAlertController 按钮和标题颜色

热门标签

归档