繁体   English   中英

无法与IB中的约束进行出口连接

[英]Unable to make outlet connection to a constraint in IB

我正在使用iOS 7运行XCode 5.我需要在布局之前动态更改UITextView的高度约束。 我看过许多帖子,说明这可以通过从IB中的约束到源代码建立出口连接来完成。 我试图从IB中的约束出口连接到拥有类的头文件,但无法建立连接 - 当我拖动头文件时IB不会“突出显示”,就像在建立连接时一样从其他对象,如按钮等

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

这是我做这件事的照片。 我控制 - 从约束拖动到头文件。

在此输入图像描述

在现实生活中,我更有可能控制 - 拖动到实现文件中的匿名类别,因为我不希望IBOutlet属性是公共的。 所以这里也是一张照片。 抱歉,此屏幕截图未显示光标:它位于拉伸线的底端。

在此输入图像描述

您可以通过以下方式建立出口连接:

  1. 打开助理编辑器,然后按住Ctrl键并将文本视图拖动到相应的头文件中。 您应该看到为textview创建的属性。

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

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

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

因此,如果您希望从View本身进行操作,那么您的解决方法可能是正确的。

我觉得这个答案我迟到了,但是写它仍然值得。 我遇到了类似的问题。 我没有正确设置视图的文件所有者。 您可以使用助理编辑器进行简单测试。 如果助理编辑器不允许您选择视图控制器的自动选择,则表示您没有正确设置文件所有者。 检查viewcontroller是否具有.xib文件的相同名称(通常是这种情况)。

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

好的,仍然无法连接IB中的约束。 但是,我通过使文本视图高度约束成为IB中的占位符来解决此问题,我将替换为我在视图的initWithCoder中创建的NSLayoutConstraint。 我保持对创建的约束的引用,并根据需要修改其“常量”属性。

我可能会坚持使用这种解决方法,但如果有人能帮助我解决原始问题,我将不胜感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM