【发布时间】:2013-09-28 14:27:27
【问题描述】:
我正在为 iOS 7 更新应用程序并决定使用自动布局。
当我尝试为以下屏幕截图中的任何元素添加约束时:
即View Controller、Table View、View、Table View Section、Table View Cell、Content View、Label。
我无法这样做,因为Add New Constraints 面板中的no item(如下所示)是交互式的。
(除了Update Frames项)
在我试图解决这个问题的过程中,我研究了这一点
“当使用 Auto Layout 时,您可能不再直接设置视图的框架。这条线要么没有效果,要么可能直接干扰 Auto Layout 正在执行的操作。”
还有
“当使用 Auto Layout 设置滚动视图的 contentSize 时,内容大小会自动从您在其子视图上设置的约束中派生。”
当我更新 ViewContoller 代码以适应此建议时,问题仍然存在。
【问题讨论】:
-
我认为你不能为 View Controller 设置约束。您只能为 UIView、UITableView 或视图控制器中的某些其他项目设置约束。但是您的图像显示您选择了视图控制器并尝试对其设置约束。
-
@Priyatham51,为了清楚起见,我更新了问题。第一个屏幕截图中的任何元素都是这种情况。
-
好的,尝试在情节提要上选择您的 TableView,当您打开添加约束时,在“添加新约束”正下方的框中输入一些值。我在添加约束时观察到的是,它在开始时将处于非活动状态。但是当您在框中输入一些值时,“添加约束”按钮将被启用。
-
我强烈建议您阅读developer.apple.com/library/ios/documentation/UserExperience/… 上的苹果自动布局指南。它非常紧张,会引导您完成“魔法”,以便在您需要时出现。
-
@Priyatham51,为了清楚起见,再次更新了问题。面板中的任何项目都不是交互式的,即我不能“在框中输入一些值”,因为框不是交互式的
标签: objective-c xcode ios7 autolayout