swift – 使子视图适合容器内部并正确调整大小
发布时间:2020-12-14 04:40:31 所属栏目:百科 来源:网络整理
导读:我正在尝试将动态笔尖加载为容器的子视图.我几乎得到它的工作,除了子视图有一个我似乎无法摆脱的偏移(参见下面图片中的粉红色视图). 从View Hierarchy调试: 正如您在第2张图片中看到的那样,容器框架已正确定位,而子视图由于某种原因未正确定位. 我真的不知
我正在尝试将动态笔尖加载为容器的子视图.我几乎得到它的工作,除了子视图有一个我似乎无法摆脱的偏移(参见下面图片中的粉红色视图).
从View Hierarchy调试: 正如您在第2张图片中看到的那样,容器框架已正确定位,而子视图由于某种原因未正确定位. 我真的不知道autolayout会发生什么. 这是处理加载笔尖并将其指定为子视图的代码: 注释掉的代码是我试图使它工作的所有东西,没有成功.我认为autolayout可以独立工作而不需要做任何事情,但默认情况下它加载nib而不调整它. 这意味着前导和顶部锚是正确的,但是笔尖然后使用它的全尺寸……(参见下图) 所以问题是,为了加载笔尖并使其适合容器视图,我需要做些什么? 解决方法
您应该为NibView添加约束,而不是设置NibView的边界和框架.
在将NibView添加为内容视图的子视图后,尝试在NibView上调用以下函数(addFullScreenConstraint): extension UIView { /// Adds constraints to this `UIView` instances `superview` object /// to make sure this always has the same size as the superview. /// Please note that this has no effect if its `superview` is `nil` /// – add this `UIView` instance as a subview before calling this. func addFullScreenConstraints() { guard let superview = self.superview else { return } self.translatesAutoresizingMaskIntoConstraints = false superview.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[subview]-0-|",options: .directionLeadingToTrailing,metrics: nil,views: ["subview": self])) superview.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[subview]-0-|",views: ["subview": self])) } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |