[英]Custom view (xib) not visible on storyboard
我有一个自定义视图xib
,其中有多个TableViews
。 我将其作为嵌套视图加载到ViewController
中:
ViewController
|_ View
|_ View (This is where I load my Custom View)
运行我的应用程序时,我可以在屏幕上看到空表,因此我的xib正确加载。
到现在为止还挺好。
我的问题是,我无法在情节提要中看到我的桌子。 因此,我无法按ctrl +拖动并继续进行操作。
如何在情节提要视图中看到我的自定义视图?
例如,我们有TopView (我的CustomView):
注意:不要忘记@IBDesignable标记。
import UIKit
@IBDesignable
class TopView: UIView {
//MARK:- IB Outlets
var contentView:UIView?
//MARK:- Lifecycle
override func awakeFromNib() {
super.awakeFromNib()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupThisView()
}
override init(frame: CGRect) {
super.init(frame: frame)
setupThisView()
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
setupThisView()
contentView?.prepareForInterfaceBuilder()
}
//MARK:- Lifecycle methods
private func setupThisView(){
guard let view = loadViewFromNib() else { return }
view.frame = bounds
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
addSubview(view)
contentView = view
}
func loadViewFromNib() -> UIView? {
let nibName = String(describing: TopView.self)
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: nibName, bundle: bundle)
return nib.instantiate(withOwner: self,options: nil).first as? UIView
}
}
3,在Storyboard中添加 UIView并将视图的类设置为TopView
如果冠捷还没有出现在故事板则(这种情况通常情况下):
仍然?
情节提要只能包含ViewControllers和Segues。 如果要从ViewController访问xib中的内容以设置委托等,则必须从代码中进行操作。 例如,当目标ViewController
在情节提要中且UITableView
在另一个xib中时,您不能在IB中设置UITableView
的委托。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.