如何获取 snapkit 为 UIView 声明的高度约束?
Posted
技术标签:
【中文标题】如何获取 snapkit 为 UIView 声明的高度约束?【英文标题】:How to get the height constraint declared by snapkit for UIView? 【发布时间】:2016-08-09 03:24:23 【问题描述】:例如,我通过 snapkit 为 UIView 声明了一些约束:
timeProgress.snp_makeConstraints (make) in
make.left.equalTo(startTime.snp_right).offset(15)
make.right.equalTo(endTime.snp_left).offset(-15)
make.height.equalTo(5)
make.centerY.equalTo(startTime)
如何获得 timeProgress 的高度限制?
【问题讨论】:
【参考方案1】:你可以持有对高度约束的引用:
var timeHeightConstraint: Constraint
timeProgress.snp_makeConstraints (make) in
make.left.equalTo(startTime.snp_right).offset(15)
make.right.equalTo(endTime.snp_left).offset(-15)
self.timeHeightConstraint = make.height.equalTo(5).constraint
make.centerY.equalTo(startTime)
【讨论】:
【参考方案2】:您需要保持对约束的全局引用。
let timeProgressHeightConstant = 5.0
timeProgress.snp_makeConstraints (make) in
make.left.equalTo(startTime.snp_right).offset(15)
make.right.equalTo(endTime.snp_left).offset(-15)
make.height.equalTo(timeProgressHeightConstant)
make.centerY.equalTo(startTime)
因此,您现在可以访问self.timeProgressHeightConstant
。
【讨论】:
谢谢!但我也想知道如何获得它的宽度限制? @tongxing 在这种情况下没有获取宽度约束的捷径。您需要自己手动计算。以上是关于如何获取 snapkit 为 UIView 声明的高度约束?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中使用 SnapKit 使 UIView 具有相等的宽度和高度?
Snapkit 布局问题 - UITextView 超越 UIView
使用 SnapKit 对 UIView 进行约束但啥也不显示