是否可以从加载到的视图中访问/操作nib文件中的约束?

时间:2013-11-08 21:25:58

标签: ios objective-c autolayout nib nslayoutconstraint

示例项目:http://cl.ly/1g1L3E2Z0r1c

我创建了一个nib文件,然后在其中创建了一些视图,然后我将其加载到另一个视图控制器中。在我引入的视图中,它是UIView的子类,我在其中为其属性设置了出口。我有一个专门针对距离顶部距离的约束。

但是当我尝试在代码中访问它时(如下所示),我不能,它声明它是空的:

self.tutorialScreen3.textLabelDistanceFromTop.constant += 150.0;
NSLog(@"%@", self.tutorialScreen3.textLabelDistanceFromTop);

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在这一行

[[[NSBundle mainBundle] loadNibNamed:@"View" owner:nil options:nil] lastObject];

您正在加载View.xib文件中的最后一个视图,而它是视图3,但您的属性textLabelDistanceFromTop未与此视图相关联,但是与视图2相关。

你只需要在视图3中使用你在视图2中做出的相同约束,并将textLabelDistanceFromTop属性与视图3中的适当约束连接起来,它就不再是nil了。

我已经在您的项目中执行了此操作,因此您可以从此位置http://goo.gl/gGvIkn

下载它