我更新了 Xcode 8 和 SnapKit 3.0 来测试自动布局。在更新为 SnapKit 3.0 之前,我可以在调用layoutIfNeeded
后获得正确的帧。但我现在在 SnapKit 3.0 下获得frame.origin.x
和.y
两个负值。
示例:
let signUpView = UIView()
view.addSubview(signUpView)
signUpView.snp.makeConstraints { (make) -> Void in
make.leading.equalTo(50)
make.trailing.equalTo(-50)
make.top.equalTo(topView.snp.bottom)
make.height.equalTo(50)
}
// here frame is: {0,0,0,0}
signUpView.layoutIfNeeded()
// here frame is:
(-137.5, -25.0, 275.0, 50.0)
▿ origin : (-137.5, -25.0)
- x : -137.5
- y : -25.0
▿ size : (275.0, 50.0)
- width : 275.0
- height : 50.0
答案 0 :(得分:0)
您需要在layoutIfNeeded
而不是view
上调用signUpView
,因为它是需要进行布局传递的容器。