为什么我的mapview使用约束是全屏?

问题描述:

enter image description here为什么我的mapview使用约束是全屏?

这是目前我正在使用的。我已经反复将约束设置为0,0,0,0,并且未约束地限制边距。但是,有时候我运行模拟器并不是填满屏幕,而是保持在600x600。我没有选中高度和宽度,所以我添加的唯一约束条件是-20 - > 0和20 - > 0.

而且只是用于平板电脑的尺寸类& iPhone功能,或者我可以取消选择并使应用适应朝向iPhone,但仍然可以管理从iPhone到iPhone的尺寸变化?

编辑:未选中的大小类,并选择了iPhone,但我仍然得到了一个正方形mapview的问题。

EDIT2:在这里添加了约束的图像,由于某些原因它不是保存或使用加载的约束。 http://imgur.com/9KGY7Nn

已解决:无论出于何种原因,xcode并未将顶部和底部约束添加到0.“添加缺少的约束”修复了问题。

+0

添加约束条件的图像 – dan

+0

除了更多的约束信息外,您是否还有可能掩盖地图的“UIView”? –

+0

添加了约束的图片,没有其他UIViews覆盖它,因为如果我勾选高度约束并使它比当前的多100个,它会注册该图片。我不确定这些约束是否不适用。我是XCode的新手,所以我有点迷路。 – ggworean

我知道你回答了你自己的问题,但我只是在这里给任何人解答这个问题。

如果您在界面构建器中看到红色轮廓或红色约束,表明您有错误(由于类似缺失或冲突的约束)。如果你得到一个红色的轮廓/约束,你将无法得到你正在寻找什么,当你运行应用程序。 你应该尝试解决这个问题以获得理想的结果。

在你的情况你有一个前导和尾随约束,但这是不够的,你必须添加一个顶部和底部边距。

当你的轮廓是橙色/黄色时,这意味着你有一个警告,它不会中断,但有些地方不合适。如果您点击屏幕右下角的resolve auto layout issues下的update frames,通常会自行修复。

enter image description here

此外,如果你想拥有一个全屏幕地图上的所有设备考虑在any - any类中添加你的约束。

+0

因此,我想要在所有iPhone上使用全屏显示地图,但基于应用程序的性质,我完全关心平板电脑。如果是严格的iPhone,我还应该处理尺寸类吗? – ggworean

+0

是的,因为尺寸类别不只适用于不同的设备,它也是不同的方向。除非你的应用程序是严格的iPhone肖像,那么你可以坚持所有的肖像大小类的iPhone。 – MrHaze

+0

所以我已经开始工作了,但我现在在顶部添加了一个搜索栏。我的约束类似于工具栏,但搜索栏对象的底部是地图视图对象的起始位置。即使在更新框架和添加缺少的约束之后,我想,地图视图会覆盖搜索栏。屏幕截图http://imgur.com/bdOiaGx – ggworean