Swift Xib 子视图未填充视图

Posted

技术标签:

【中文标题】Swift Xib 子视图未填充视图【英文标题】:Swift Xib subview not filling view 【发布时间】:2019-01-18 10:32:09 【问题描述】:

我正在尝试将子视图(来自 xib)呈现到视图中。子视图呈现在视图中,但它没有按预期填充视图,为什么子视图没有占据 imageControllerPlaceHolder 的框架?

 var imageScrollerSubView: UIView?

     override func viewDidLoad() 
            super.viewDidLoad()

            imageScrollerSubView = UINib(nibName: "ImageScroller", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as? UIView
            imageScrollerSubView?.frame.size.height = ImageScrollerPlaceHolder.frame.size.height
            imageScrollerSubView?.frame.size.width = ImageScrollerPlaceHolder.frame.size.width
            ImageScrollerPlaceHolder.addSubview(imageScrollerSubView!)


        

【问题讨论】:

【参考方案1】:

尝试在viewDidLayoutSubviews 方法中更新您的目标视图框架

override func viewDidLayoutSubviews() 
        imageScrollerSubView?.frame.size.height = ImageScrollerPlaceHolder.frame.size.height
        imageScrollerSubView?.frame.size.width = ImageScrollerPlaceHolder.frame.size.width

【讨论】:

以上是关于Swift Xib 子视图未填充视图的主要内容,如果未能解决你的问题,请参考以下文章

Swift:无法从 xib 访问子视图

swift [添加子视图和填充]添加子视图并填写#tags:uiview

非故事板 xib 的容器视图未显示

Swift - 表视图未填充数据但未显示错误

如何在 Swift 中将内容包装为自定义视图

将 Xib 的大小调整为 swift 4 的屏幕大小