IBOutlet NSLayoutConstraint 没有给出值

IBOutlet NSLayoutConstraint not giving the value

我创建了 auto layout constraintsIBOutlet 这里是屏幕截图

这是代码

-(void)viewDidAppear:(BOOL)animated {

    NSLog(@"View=> x=%f, y=%f, w=%f, h=%f", self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width ,self.view.frame.size.height);

    NSLog(@"V=> x=%f, y=%f, w=%f, h=%f", self.v.frame.origin.x, self.v.frame.origin.y, self.v.frame.size.width ,self.v.frame.size.height);

    NSLog(@"Constant=> w=%f, h=%f", self.vWidth.constant, self.vHeight.constant);
}

这是输出

View=> x=0.000000, y=0.000000, w=414.000000, h=736.000000
V=> x=0.000000, y=536.000000, w=414.000000, h=200.000000
Constant=> w=0.000000, h=200.000000

问题一: 使用 auto layouts 时,获取这样的帧属性是否正确 self.v.frame.size.widthself.v.frame.size.height 或者我应该使用 self.vWidth.constantself.vHeight.constant

问题二: 为什么我在 NSLog(@"Constant=> w=%f, h=%f", self.vWidth.constant, self.vHeight.constant);?

中的宽度为零

您将获得 viewDidLayoutSubviews 中的值。