В пред-iOS 8 нам приходилось использовать UIAlertView
и UIActionSheet
Что нам не разрешалось возиться с иерархией представлений или подклассами ни на одном из них.
Класс UIAlertView предназначен для использования как есть и не поддерживает создание подклассов. Иерархия представлений для этого класса является закрытой и не может быть изменена.
UIActionSheet не предназначен для создания подклассов, и вы не должны добавлять представления в его иерархию. Если вам нужно представить лист с большей настройкой, чем предоставляется API UIActionSheet, вы можете создать свой собственный и представить его модально с помощью presentViewController:animated:completion:.
Однако в iOS8 Apple представила UIAlertController
вместо UIAlertView
и UIActionSheet
(см. предварительную документацию здесь).
Таким образом, в этой предварительной документации нет ничего о невозможности создания подкласса или изменения иерархии представлений, в ней даже есть этот метод addTextFieldWithConfigurationHandler:
, поэтому мы сможем изменить иерархию представлений и/или подкласс UIAlertController
, не беспокоясь о том, одобрит ли Apple или отклонить наши заявки?