Удалить окончание анимации UIAlertController - PullRequest
1 голос
/ 11 января 2020

В моем случае мне нужно показать пользователю UIAlertController вверх ногами.

На данный момент я могу избежать открытия анимации с помощью:

present(alert, animated: false, completion: {
    alert.view.transform = CGAffineTransform(rotationAngle: .pi)
})

На данный момент пользователь видит инвертированный UIAlertController.

И во время закрытия, после нажатия кнопки Отмена, UIAlertController мигает в обычном положении в течение одной сотой секунды, что слегка портит UX.

В этом простом примере вы можете уловить небольшое мигание:

let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: .alert)
let action = UIAlertAction(title: "Action", style: .default, handler: { action in })
let cancel = UIAlertAction(title: "Cancel", style: .destructive, handler: { action in })
alert.addAction(action)
alert.addAction(cancel)
present(alert, animated: false, completion: {
    alert.view.transform = CGAffineTransform(rotationAngle: .pi)
})

Я пытался позвонить

alert.dismiss(animated: false, completion: nil)

или

alert.view.isHidden = true

внутри действия отмены, но это не сработало.

Помогите мне найти способ избежать этой надоедливой конечной анимации.

...