UIAlertController子类问题swift

gin*_*ino 4 ios swift uialertcontroller

我想创建一个UIAlertController的子类但我疯了,因为我有构造函数的问题,这是我的子类:

class loginAlert :  UIAlertController {

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

    }

}
Run Code Online (Sandbox Code Playgroud)

我认为这个子类必须有构造函数:UIAlertController(title:String,message:String,preferredStyle:UIAlertControllerStyle),因为它是UIAlertController的子类,但是当我做的时候

loginAlert(title: "test", message: "test", preferredStyle: .Alert)
Run Code Online (Sandbox Code Playgroud)

我得到错误,为什么我错了?

bey*_*ulf 17

来自UIAlertController类参考:

子类化注释UIAlertController类旨在按原样使用,不支持子类化.此类的视图层次结构是私有的,不得修改.

您可以创建一个视图控制器,其视图包含透明度,其UIModalPresentationStyle为.OverCurrentContext,UIModalTransitionStyle为.CrossDissolve,效果非常相似.

或者您可以在UIAlertController上编写一个扩展,它可以添加需要跨类共享的方法(例如,一种呈现重复警报的方法).有关扩展的更多信息,请参阅此处.

  • 您可以在UIAlertController上编写可以添加方法和计算值的扩展. (2认同)