界面生成器:MapView 的自动布局
Posted
技术标签:
【中文标题】界面生成器:MapView 的自动布局【英文标题】:Interface builder: Autolayout for MapView 【发布时间】:2016-06-27 11:36:11 【问题描述】:Xcode 8 测试版 8S128d Interface Builder and Autolayout 一直困扰着我。我不能让它做我想做的事。
示例:只需要一个 ImageView 来填满屏幕(父级),但从顶部开始,ImageView 应该与顶部成比例。
------------------
- 10% free space -
------------------
- -
- MapView -
- -
------------------
-
将 MKMapView 添加到父视图。
引脚:右、左、底部 = 0。
为父级添加等于高度并将乘数设置为 0.90
这适用于 ImageView 但不适用于 MapView。
【问题讨论】:
【参考方案1】:我没有解决方案,但有一个可行的解决方法
不要将地图固定到封闭容器的边界,而是执行以下操作
1) 为 mapview 及其容器提供相等的宽度和高度 2) 手动将高度约束从 1 更改为 0.99 3) 在容器中水平和垂直居中地图视图。
您需要重试几次,但它可以工作
编辑:警告:Interface Builder 一直抱怨崩溃后缺少 Y 约束(并重新输入警告),但应用程序布局良好。
在 Xcode 版本 8.0 和 Swift 3 中遇到了这个问题 - 可能在未来的 Xcode 版本中这个问题将得到解决
【讨论】:
可以在目前处于测试阶段的最新 Xcode 8.1 中解决 adcdownload.apple.com/Documentation/… bug 回到 8.2.1以上是关于界面生成器:MapView 的自动布局的主要内容,如果未能解决你的问题,请参考以下文章