【发布时间】:2019-04-03 10:15:46
【问题描述】:
首先,我真的要感谢构建 snapkit 的人。它确实使为 UIViews 设置约束变得非常容易。
但现在,我有一个简单的问题:如何访问使用此库设置的视图的框架属性?
例如:
self.view.addSubview(contributePosterView)
self.contributePosterView.snp.makeConstraints { (make) in
make.left.equalTo(self.view.snp.left)
make.width.equalTo(self.view.bounds.width)
make.top.equalTo(self.table.snp.bottom)
make.bottom.equalTo(self.view.snp.bottom)
}
如何访问我命名为contributePosterView 的视图的框架属性?
这对我来说很重要,尤其是当我必须使用上述滚动视图的 layoutSubviews 属性在 UIScrollview 中设置它们时。
我尽可能多地检查了 snapkit 文档,但仍然没有找到答案。
我应该怎么做?任何帮助将不胜感激。
【问题讨论】:
-
为什么要访问
frame?你想做什么? -
我需要它来获取所述 UIView 的尺寸,以便为我的滚动视图确定正确的内容大小
-
从未使用过 snapkit,但是对于任何视图,如果您在该视图的父视图中实现了
layoutSubviews,则可以得到正确的frame。 -
@PavanVasan - 如果您正确使用自动布局,则不需要设置滚动视图的
.contentSize...它是自动设置的。如果确实需要获取contributePosterView的大小,可以通过contributePosterView.frame获取。但是请注意,在自动布局完成其工作之前,不会设置框架。一般框架在didLayoutSubviews()有效。 -
@DonMag: 你是在暗示 viewDidLayoutSubviews() 吗?