无法与IB中的约束build立出口连接

我使用iOS 7运行XCode 5,我需要在布局之前dynamic更改UITextView的高度约束。 我见过很多贴子,说明这可以通过从IB中的约束到源代码的sockets连接来完成。 我正在尝试从IB的约束出口连接到拥有的类的头文件,但无法build立连接 – 当我拖动头文件时,IB不会“突出显示”,就像在进行连接时一样从其他物体如button等

有没有人遇到过这个? 所有的帮助,非常感谢。

这是我做的一张照片。 我是控制 – 从约束拖动到头文件。

在这里输入图像说明

在现实生活中,我更可能控制拖到实现文件中的匿名类别,因为我不想让IBOutlet属性公开。 所以这里也是一个图片。 对不起,这个屏幕截图不显示光标:它位于拉伸线的最下端。

在这里输入图像说明

您可以通过以下方式build立sockets连接:

  1. 打开助理编辑器,然后按Ctrl +拖动你的TextView到相应的头文件。 您应该看到为textview创build的属性。

  2. 手动input@property(nonatomic,retain)IBOutlet UITextField *yourTextField; 。打开助理编辑器,从小空圈(左到属性)拖动到您的视图控制器中相应的控件。

如果仍然无法build立连接,请清理并保存项目,然后重试。

你是否试图在UIView类中创build连接? 看来你只能在与Storyboard中的Scene相关联的UIViewController类中创build一个连接。

所以你的解决方法可能是正确的,如果你想从视图本身做到这一点。

我想我迟到了这个答案,但它仍然可能是值得的写它。 我有一个类似的问题。 我没有正确设置视图的文件所有者。 你可以使用助理编辑器做一个简单的testing。 如果助理编辑器不让您为视图控制器select自动select,则意味着您没有正确设置文件所有者。 检查视图控制器是否具有.xib文件的相同名称(通常是这种情况)。

这将让您连接所有IBOutlet,包括约束。

好的,仍然不能连接到IB的约束。 不过,我通过使文本视图高度约束在IB中的占位符来解决这个问题,我使用在视图的initWithCoder中创build的NSLayoutConstraint来replace它。 我维护对创build的约束的引用,并根据需要修改其“常量”属性。

我可能会坚持这个解决方法,但如果任何人都可以帮助我的原始问题,将不胜感激。