我想知道用特定框架初始化自定义UIView
的最简洁方法是什么。
UIView
是根据XIB
文件设计的。
以下是我的实施:
class CustomView : UIView {
@IBOutlet var outletLabel: UILabel!
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupView()
}
public override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
private func setupView() {
// Set text for labels
}
}
以下是我想在ViewController中初始化它的方法:
let screenSize: CGRect = UIScreen.main.bounds
let screenWidth = screenSize.width
let frame = CGRect(x: 0, y: 0, width: screenWidth - 50, height: 70)
let customView = CustomView.init(frame: frame)
但它没有用,我有一个白色的UIView没有任何插座。
如果我这样做:
// Extension to UIView to load Nib
let customView : CustomView = UIView.fromNib()
我可以在view
文件中看到我的XIB
,其宽度/高度在Interface Builder
中使用。
我希望从view
文件中加载XIB
但是具有特定框架?
我是否遗漏了有关初始化的内容?