对于前置iOS 8,我们必须使用UIAlertView和UIActionSheet。
我们不允许在其中任何一个上扰乱视图层次结构或子类。
UIAlertView类打算以原样形式使用,而不支持子类化。此类的视图层次结构是私有的,不能修改。
UIActionSheet不是为子类设计的,也不应该将视图添加到它的层次结构中。如果您需要提供比UIActionSheet API提供的更多定制功能的工作表,您可以创建自己的工作表,并使用presentViewController:动画:completion: more显示它。
然而,在iOS8中,苹果已经引入了UIAlertController来取代UIAlertView和UIActionSheet (查看发布前文档这里)。
因此,在这个预发布的文档中,没有任何关于不能子类或更改视图继承性的问题,它甚至有这种方法addTextFieldWithConfigurationHandler:,那么我们是否能够改变视图的继承性和/或子类UIAlertController,而不用担心苹果是否会批准或拒绝我们的应用程序呢?
发布于 2015-11-30 20:42:14
这是一个迟来的反应,但直接来自苹果文档。
UIAlertController类打算以原样形式使用,而不支持子类化。此类的视图层次结构是私有的,不能修改。
因此,您不应该将UIAlertController子类。
https://stackoverflow.com/questions/24017657
复制相似问题