@RaphaeI

Как сделать, чтобы при вызове AlertController не затемнялся задний фон и объекты были кликабельны?

Так создаю AlertController
let alertController = UIAlertController(title: nil, message: "Title.", preferredStyle: .ActionSheet)
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel/*.Destructive*/) { action in
            // ...
            //self.mapView.selectAnnotation(annotation, animated: false)
        }
        alertController.addAction(cancelAction)
        let OKAction = UIAlertAction(title: "OK", style: .Default) { action in
            // ...
        }
        alertController.addAction(OKAction)
        let destroyAction = UIAlertAction(title: "Destroy", style: .Destructive) { action in
            print(action)
        }
        alertController.addAction(destroyAction)
        self.presentViewController(alertController, animated: true) {
            // ...
            //self.view.backgroundColor = UIColor.clearColor()
        }


Как сделать, чтобы фон не затемнялся и объекты на этом фоне были сразу кликабельны (сейчас нужно сначала свернуть Алерт)
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
doublench21
@doublench21 Куратор тега Swift
Наверное никак, да собственно это и есть самое верное поведение. Если Вам нужно кликать и не переносить акцент на всплывающее модальное окно, то вам лучше не использовать UIAlertController, а сделать своё модальное окно, с блекджеком и ... ну вы поняли

Хотя модальное окно вам все равно не даст возможности кликать на элементы другого окна под ним. Если Вам нужно кликать, то лучшим вариантом будет анимированный UIView. Изначально он hidden, по какому-либо событию он появляется. UIView как ещё один элемент вашего окна.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы