rga*_*ber 5 xib ios xcode-storyboard swift
我有一个自定义视图xib,其中有多个TableViews. 我将它ViewController作为嵌套视图加载到 a中:
ViewController
   |_ View
       |_ View (This is where I load my Custom View)
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,我可以在屏幕上看到空表,所以我的 xib 加载正确。
到现在为止还挺好。
我的问题是,我无法在故事板中看到我的表格。所以我无法ctrl+drag 并继续进行。
如何在故事板视图中看到我的自定义视图?
例如,我们有TopView(我的 CustomView):
\n\n\n\n注意:不要忘记@IBDesignable 标签。
\n\nimport UIKit\n@IBDesignable\nclass TopView: UIView {\n\n    //MARK:- IB Outlets\n    var contentView:UIView?\n\n    //MARK:- Lifecycle\n    override func awakeFromNib() {\n        super.awakeFromNib()\n    }\n\n    required init?(coder aDecoder: NSCoder) {\n        super.init(coder: aDecoder)\n        setupThisView()\n    }\n\n    override init(frame: CGRect) {\n        super.init(frame: frame)\n        setupThisView()\n    }\n\n    override func prepareForInterfaceBuilder() {\n        super.prepareForInterfaceBuilder()\n        setupThisView()\n        contentView?.prepareForInterfaceBuilder()\n    }\n\n    //MARK:- Lifecycle methods\n    private func setupThisView(){\n        guard let view = loadViewFromNib() else { return }\n        view.frame = bounds\n        view.autoresizingMask = [.flexibleWidth, .flexibleHeight]\n        addSubview(view)\n        contentView = view\n    }\n\n    func loadViewFromNib() -> UIView? {\n        let nibName = String(describing: TopView.self)\n        let bundle = Bundle(for: type(of: self))\n        let nib = UINib(nibName: nibName, bundle: bundle)\n        return nib.instantiate(withOwner: self,options: nil).first as? UIView\n    }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n3.在Storyboard中添加UIView,并将视图的类设置为TopView
\n\n\n\n\n\n\n如果TopView尚未出现在Storyboard中(通常会发生这种情况):
\n
\n\n\n仍然?
\n
Storyboard 只能包含 ViewController 和 Segue。如果您想从 ViewController 访问 xib 中的某些内容来设置委托等,那么您必须通过代码来完成。UITableView例如,当目标ViewController位于 Storyboard 中且位于另一个 xib 中时,您无法从 IB 内设置 a 的委托UITableView。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2538 次  |  
        
|   最近记录:  |