2015-01-22 3 views
1

В моем приложении реализован сингл-посредник навигации. Медиатор сохраняет ссылку на контроллер основного представления, чтобы запустить переходы контроллера просмотра. Поэтому, чтобы представить контроллер представления, потребитель будет называть навигационный посредник для этого. То же самое с увольнением, чтобы он мог сбросить основной контроллер представления.Увольнение UIAlertController

Проблема, с которой я сталкиваюсь, заключается в представлении UIAlertController. Я не могу уволить этого контроллера через мой медиа-посредник, потому что он автоматически отключается при нажатии кнопки, поэтому теряется возможность сброса основного контроллера представления при его увольнении.

Единственное решение, с которым я столкнулся, это создать расширение на UIAlertController для переопределения viewWillDisappear, которое сбрасывает основной контроллер представления, как показано ниже. Есть ли способ отменить поведение увольнения по умолчанию?

extension UIAlertController { 

    public override func viewWillDisappear(animated: Bool) { 
     super.viewWillDisappear(animated) 
     NavigationMediator.resetPrimaryViewController(self.presentingViewController) 
    } 

} 

ответ

-1

Нет, но вы можете ответить на это событие до его завершения. UIALertViewDelegate. alertView: willDismissWithButtonIndex:

Else создать собственный AlertView.

+0

UIAlertView устарел в iOS8. Рекомендуется поддерживать UIAlertController. Спасибо хоть. –

+0

Устаревший не означает, что он ошибается. Это просто предупреждение. –