将 UIView 作为 SubView 添加到自定义类、UIView 的子类、Swift
Posted
技术标签:
【中文标题】将 UIView 作为 SubView 添加到自定义类、UIView 的子类、Swift【英文标题】:adding a UIView as a SubView to a custom class, subclass of UIView, Swift 【发布时间】:2015-01-26 22:52:25 【问题描述】:我遇到以下问题。 我有一个自定义类,UIView 的子类 在其中,我尝试添加一个新的 UIView,但它不允许我这样做。
class myCustomViewClass: UIView
let smallerView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
self.view.addSubview(smallerView) // Error with this !
我尝试了不同的方法。 我知道如果我从 UIViewController 子类化我可以让它工作,但我真的不想这样做。
感谢任何帮助。谢谢!
【问题讨论】:
UIView
没有名为 view
的属性。你应该打电话给self.addSubview:
。
【参考方案1】:
class myCustomViewClass: UIView
let smallerView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
override func drawRect(rect: CGRect)
self.addSubview(smallerView)
【讨论】:
虽然这段代码可以回答这个问题,但最好在不介绍其他代码的情况下解释它是如何解决问题的,以及为什么要使用它。从长远来看,纯代码的答案没有用处。 另外,不要这样做 -drawRect
(或更高版本的 Swift 中的 draw
)将被重复调用,除非您实际处理视图的绘制,否则不应被覆盖你自己。这当然不是打电话的地方addSubView
以上是关于将 UIView 作为 SubView 添加到自定义类、UIView 的子类、Swift的主要内容,如果未能解决你的问题,请参考以下文章