我不太确定这是一个错误还是一个功能,但是这段代码:
let sheet = UIAlertController(customView: awesomeView, preferredStyle: .actionSheet)
....
present(sheet, animated: true, completion: nil)
在 iOS 13 之前的版本中给了我这个结果:
在 iOS 13 上:
即所有自定义 View 的元素都是灰度的。我尝试过使用色调/文本/背景/...按钮/标签的颜色 - 在 iOS 13 中根本没有效果。在旧版本中 - UI 正在更改。
目标:避免灰度效应。
另外,我注意到,如果我将preferredStyle更改为.alert
(而不是.actionSheet
) - 我会恢复我的颜色,但我更喜欢保持现在的布局。
操作系统:iOS 13 和 Xcode 11 - beta 3(beta 1 和 2 也有完全相同的问题)
到目前为止,我看到的唯一解决方法是远离 UIAlertController
,但也许有更好的方法来修复它?
最佳答案
您将自定义 View 添加到警报 Controller 的方式不再有效。您需要通过键路径设置 View :https://github.com/chrs1885/SheetyColors/blob/be0de5cdda9b72f5655a3fdd5e40d4bc54a8c090/SheetyColors/Classes/Common/Views/Extensions/UIAlertController%2BcustomView.swift
关于swift - iOS13 UIAlertController 具有自定义 View 和首选样式作为操作表灰度所有颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56955800/