初始化后如何访问自定义视图属性

时间:2015-07-23 10:41:26

标签: ios swift

我定位的是IOS 8 +。

我有一个在多个地方使用的表单。所以我决定创建一个自定义视图,在其中定义各种"形式"文本字段。

我构建了我的XIB,UIView子类包含每个textField的出口。

视图由背景图像和带有表单字段的滚动组成。

现在,我的第一个障碍是:我需要将这个自定义视图放在一个可能有也可能没有导航栏的容器中。这使我创建了一个约束出口,因此我可以更新其值以下推滚动条视图。这样我就可以在框架中显示整个图像,顶部在导航栏后面,滚动条在导航栏后面。

这是帮助理解问题的手册图。 enter image description here

我很有可能在解决这个问题的过程中弄得很多混乱和混乱。 :)

问题是:

awakeFromNib运行后,我无权访问约束属性。然后我注意到TextFields出口也发生了同样的事情。

那么,当我以编程方式实例化它们时,如何访问自定义视图的属性?

类似的东西:

控制器:

let customView = SignupView(frame: f)
view.addSubview(customView)
customView.pushScrollerDownBy(50.0)

自定义视图:

func pushScrollerDownBy(yOffset: CGFloat) {
    //topScrollerConstraint is the outlet for the textField.
    topScrollerConstraint.constant = yOffset //right now topScrollerConstraint is nil. 
}

1 个答案:

答案 0 :(得分:1)

您应该检查是否已将topScrollerConstraint连接到文件的所有者,因为它不会被实例化,因此会出错。以下是关于这两者之间差异的最新问题:

What is File’s owner in XIB in this case?