0
我有一個UIView子類僅包含以下內容:創建UIView子類沒有Init() - Swift?
drawRect(rect: CGRect) {
let ctx: CGContext? = UIGraphicsGetCurrentContext()
let radius: CGFloat = rect.width/2
let endAngle = CGFloat(2 * M_PI)
CGContextAddArc(ctx, bounds.width/2, bounds.height/2, radius, 0, endAngle, 1)
CGContextSetStrokeColorWithColor(ctx, UIColor.blackColor().CGColor)
CGContextSetFillColorWithColor(ctx, UIColor.whiteColor().CGColor)
CGContextSetLineWidth(ctx, 4.0)
CGContextDrawPath(ctx, CGPathDrawingMode.FillStroke)
}
我不叫任何的init()函數,但對象仍然繪製。
此外,當我嘗試實現init()函數時,我給出了有關所需初始化的幾個錯誤。
所以我的問題是:我如何能夠創建一個沒有init()函數的UIView對象?
只是澄清:如果我定義什麼是必需的,並調用super.init()我可以重寫init()函數? –
@BrandonBradley是的,你可以。然而,對於'UIView'來說,覆蓋作爲指定初始值設定項的'init(frame:)'更爲常見。 – Sulthan
好的,謝謝你的信息。對此還是比較新的。 –