nbu*_*urk 1 objective-c drawrect nscoder ios swift
我正在Swift中实现一个Circle类(子类UIView),radius它根据传入的帧在其初始化器中设置它,init(frame: CGRect)如下所示:
override init(frame: CGRect)
{
radius = frame.width/2.0
super.init(frame: frame)
}
Run Code Online (Sandbox Code Playgroud)
我还想确保从Interface Builder实例化圆圈的情况,所以我还实现了'必需的init(编码器aDecoder:NSCoder)`(我无论如何都被Xcode强制做了).
如何检索frame以某种方式包含在其中的视图的属性aDecoder.我想要实现的基本上是这样的:
required init(coder aDecoder: NSCoder)
{
var theFrame = aDecoder.someHowRetrieveTheFramePropertyOfTheView // how can I achieve this?
radius = theFrame.width/2.0
super.init(coder: aDecoder)
}
Run Code Online (Sandbox Code Playgroud)
您可以在框架设置后计算半径super.init():
required init(coder aDecoder: NSCoder)
{
radius = 0 // Must be initialized before calling super.init()
super.init(coder: aDecoder)
radius = frame.width/2.0
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3525 次 |
| 最近记录: |