UIAlertView的操作表未在IOS 12.2中将取消按钮与其他按钮分开

时间:2019-04-04 19:49:15

标签: ios swift uialertcontroller

我正在尝试实现以下目标:

enter image description here

我正在关注此问题的答案:Change background color of Cancel button for action sheet

到目前为止,使用答案我已经做到了:

enter image description here

但这仅适用于IOS 11,当我在IOS 12.2模拟器上运行该应用程序时,取消按钮并未与其他按钮分开。

在这里您可以看到:

enter image description here

我想问的是它是最新的IOS错误还是我缺少最新的IOS的信息?

这是我的代码:

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

    alertController.addAction(UIAlertAction(title: "Weekly View", style: .default, handler: nil))
    alertController.addAction(UIAlertAction(title: "Monthly View", style: .default, handler: nil))

    if let firstSubview = alertController.view.subviews.first, let alertContentView = firstSubview.subviews.first {
        for view in alertContentView.subviews {
            view.backgroundColor = .blue
        }
    }
    alertController.view.tintColor = UIColor(red: 1.0, green: 0.2, blue: 0.33, alpha: 1)

    let cancelButtonViewController = CancelButtonViewController()
    let cancelAction = UIAlertAction(title: "", style: .cancel, handler: nil)
    cancelAction.setValue(cancelButtonViewController, forKey: "contentViewController")

    alertController.addAction(cancelAction)

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

和CancelButtonViewController代码:

override func viewDidLoad() {
    super.viewDidLoad()

    view.backgroundColor = .green

    let buttonText = UILabel()
    buttonText.text = "Cancel"
    buttonText.font = UIFont(name: "AppleSDGothicNeo-Regular", size: 20)
    buttonText.translatesAutoresizingMaskIntoConstraints = false

    view.addSubview(buttonText)

    buttonText.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    buttonText.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true


}

此外,每当我使用.actionSheet样式创建AlertView时,默认情况下也会收到一个Constraints错误。也许这就是原因。我进行了一些研究,发现这篇文章中的这个post他们建议忽略此错误。

错误:

enter image description here

我希望我的问题不会使您烦恼。因为我是IOS编程的新手。谢谢

0 个答案:

没有答案