Лист действий UIAlertView не отделял кнопку отмены от других в IOS 12.2 - PullRequest
2 голосов
/ 04 апреля 2019

Я пытаюсь добиться чего-то вроде этого:

enter image description here

Я отвечаю на этот вопрос: Изменить цвет фона кнопки «Отмена» для листа действий

и до сих пор, используя ответ, я достиг этого:

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)

And CancelButtonViewController code:

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


}

И еще одно, я также получаю ошибку Constraints по умолчанию всякий раз, когда создаю AlertView со стилем .actionSheet. Может быть, это может быть причиной. Я провел некоторое исследование и обнаружил этот пост в этом посте, они предложили игнорировать эту ошибку.

Ошибка:

enter image description here

Надеюсь, мой вопрос вас не раздражал. Как я нуб в программировании IOS. Спасибо

...