如何在界面生成器中将视图的宽度限制为设备宽度?

Posted

技术标签:

【中文标题】如何在界面生成器中将视图的宽度限制为设备宽度?【英文标题】:How to constrain view's width to device width in interface builder? 【发布时间】:2015-10-15 07:20:47 【问题描述】:

我有这个视图层次结构

我希望我的内容在内容视图中垂直增长,而不是水平增长。所以我想将 ContentView 的宽度限制为与设备的宽度相同。如何在 Interface Builder 中执行此操作?

注意: Image View 中的图片宽度大于设备宽度,所以现在 ContentView 的大小在垂直和水平方向都在增长

【问题讨论】:

将前导和尾随约束添加到 ContentView 的超级视图。您还应该将 imageview 的宽度作为 contect 的视图宽度。 【参考方案1】:

只需将约束添加到内容视图作为前导空间、尾随空间、顶部空间、底部空间以及将内容视图宽度约束固定为常量,然后创建宽度约束值的出口并在视图控制器端写入方法为

-(void)viewDidLayoutSubViews

_scrollViewContentViewWidthConstraint.constant = self.view.frame.size.width;

【讨论】:

以上是关于如何在界面生成器中将视图的宽度限制为设备宽度?的主要内容,如果未能解决你的问题,请参考以下文章

界面生成器中的约束“宽度等于高度”,对于同一视图:如何创建这样的约束?

切换方向时从堆栈视图中删除的元素

iOS 自动布局:这可以用 IB 完成吗?

如何在 C# 标记中将 Frame 的高度设置为等于其宽度?

iOS 8 今日界面生成器

使用自动布局,如何在 NSSplitView 中将子视图居中而不强制宽度 NSSplitView 为静态?