iOS13 UIAlertController,具有自定义视图和preferredStyle作为操作表,将所有颜色灰度化

时间:2019-07-09 15:18:02

标签: swift uikit uialertcontroller ios13

我不确定是错误还是功能,但是代码如下:

let sheet = UIAlertController(customView: awesomeView, preferredStyle: .actionSheet)
....
present(sheet, animated: true, completion: nil)

在iOS 13之前的版本中,我得到了以下结果:

enter image description here

以及在iOS 13上:

enter image description here

即所有customview的元素都是灰度的。我尝试使用Tint / Text / Background / ...按钮/标签的颜色-在iOS 13中完全无效。在旧版本中-用户界面正在更改。

目标::避免产生灰度效果。

此外,我注意到,如果我将PreferredStyle更改为.alert(而不是.actionSheet),我会恢复原来的颜色,但是我希望保持今天的布局

操作系统:iOS 13和Xcode 11-beta 3(对于beta 1和2,也存在完全相同的问题)

到目前为止,我唯一的解决方法是远离UIAlertController,但是也许有更好的方法来解决它?

1 个答案:

答案 0 :(得分:0)

将自定义视图添加到警报控制器的方式不再起作用。您需要改为通过键路径设置视图:https://github.com/chrs1885/SheetyColors/blob/be0de5cdda9b72f5655a3fdd5e40d4bc54a8c090/SheetyColors/Classes/Common/Views/Extensions/UIAlertController%2BcustomView.swift