之前在UIView的子类中,init中设置的了frame,但是都不起效果:
x和y的位置,都是乱的。
只有去
override func layoutSubviews() {
才可以再去设置对应的x和y值,设置位置。
swift uiview subclass init
swift uiview subclass example
参考:
搜:
swift uiview subclass frame not working
swift uiview subview frame
最后是:
import UIKit
class DemoUiviewSubclass : UIView {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(frame: CGRect) {
print("DemoUiviewSubclass init()")
print("Input frame=\(frame)")
super.init(frame: frame)
self.backgroundColor = UIColor.purpleColor()
let tableView = UITableView(frame: CGRectMake(
0, // !!! Note: this x is relative to current sub view
0, // !!! Note: this y is relative to current sub view
100,
40)
)
self.addSubview(tableView)
}
}即可。
转载请注明:在路上 » [已解决]swift如何继承UIView设置frame