iOS 故事板视图约束问题

Posted

技术标签:

【中文标题】iOS 故事板视图约束问题【英文标题】:Issue with iOS storyboard view constraints 【发布时间】:2014-08-21 20:39:15 【问题描述】:

我遇到了故事板约束的问题,我有一个地图视图,我希望它具有可变高度,具体取决于屏幕尺寸,例如(iPhone 4 和 iPhone 5)。臀部部分应该收缩,mapkit 高度也应该收缩。我很难理解约束系统,我尝试将距离顶部和距离底部设置为 0 和 0,我希望这会给视图提供可变高度,但似乎并非如此。

这就是它在 iPhone 5 上的样子,这就是它应该的样子。

编辑 1

【问题讨论】:

【参考方案1】:

我已将您的问题阅读了 3 次,但不确定您要达到什么目标。 因此,结果对于 iPhone5 是可以的,但对于 iPhone4 则不行。你到底想为 iPhone4 实现什么?第 1 节和第 2 节的高度相同,只有第 3 节的高度减小?

如果是这样,那就很容易了: - 为第 1 部分设置高度限制(高度=X) - 为第 2 部分设置高度限制(高度=Y) - 在 3.Top 和 2.Bottom (=0) 之间设置距离约束 - 在 3.Bottom 和 Superview.bottom(或 Layout)之间放置距离约束(=0)

【讨论】:

仍然出现按钮溢出,我现在插入图像 就我所见,我认为您的“详细视图控制器底部”的大小应该没问题。也许问题出在子视图中。如果添加约束: - Map 与其父视图之间的高度相等(详细视图控制器底部) - 左下方 UIImageView 与其父视图之间的垂直空间您还有问题吗? 当我做一个高度等于时,我仍然得到底部溢出,所以问题似乎是细节视图底部 好的,所以我刚刚创建了一个空项目来测试它。我设法通过以下约束来做到这一点:-“详细视图控制器顶部”和“顶部布局指南”之间的垂直空间-高度“详细视图控制器顶部”-“详细视图控制器顶部”和“详细视图控制器中间”之间的垂直空间“ - 高度“细节视图控制器中间” - “细节视图控制器中间”和“细节视图控制器底部”之间的垂直空间 - “细节视图控制器底部”与其子视图(您的地图)之间的高度相等 - “细节底部”之间的垂直空间" 和 "底部布局空间" 很抱歉格式不佳。无法正确格式化 cmets...(尝试了双空格,没有用)【参考方案2】:

尝试在 Interface Builder 中选择您的视图控制器(不是视图!),在实用程序部分选择属性检查器,并尝试切换 Extend Edges 部分的复选框。另外,在您的屏幕截图中,我看到一个红色箭头符号,表示系统无法满足布局约束,首先,请确保您满足所有约束。

【讨论】:

恐怕没有效果 @IvanRistic 如果您仍然在红色圆圈内看到那个箭头,那么您肯定有问题。在纠正之前不要尝试其他任何事情。当你点击那个箭头时它会列出什么?

以上是关于iOS 故事板视图约束问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS将autoLayout按钮位置设置为故事板中心的剩余空间

ios xcode 电容器故事板约束以停止状态栏挂在 web 视图的顶部

故事板中自动布局标签的表格视图单元格约束[关闭]

故事板标签约束

iOS 故事板 - 自动布局不会调整子视图的大小和位置

故事板问题中的 MKMapView 约束