2017-04-04 62 views
0

我在屏幕的顶部和底部有高度限制的标签和工具栏。我在工具栏之间获得了UIImage。所以工具栏和标签对于不同的设备保持相同的高度,而工具栏之间的空间是可变的。

我的目标是保持从SE到iPad的设备的宽高比为1:1,并通过拉伸到工具栏之间的UIImage,直到达到侧视图上的超视图边缘或顶部和底部的工具栏。我尝试了不同的方法,但我可以得到的最好的东西是在屏幕截图下面。

保持不同设备的高宽比和自动布局

enter image description here

它保持纵横比,但我不能找出如何保持它的工具栏的中间。

约束下的UIImage:

enter image description here

由于我工作在iOS 8支持的应用我没有使用UIStackView并试图找到唯一的限制条件的解决方案。

+0

查看下面的**底部空间到:工具栏**有符号'> ='。用'='点击它就可以改变它。并检查输出。 –

+0

@agent_stack是的,我尝试过,但在这种情况下,图像损失纵横比并拉伸至界限 – Pavel

+0

删除1:1的比例并保持'='关系。保持心智底部常数必须为'0' –

回答

0

你需要做以下的事情:

  1. 添加一个新的视图(说,CENTERVIEW)在黄色和绿色视图之间并赋予它鲜明的色彩,给下面的约束

    • 前导,追踪到超视图为常数= 0.
    • 顶部到黄色视图为常数= 0
    • 底部到黄色低视图为常数= 0
  2. 现在在centerView中添加ImageView,它具有Apple徽标并给出以下限制。

    • 给它固定的高度,只要你想。
    • 给它垂直和水平中心w.r.t.它的超级视图。
+0

@Pavel你是在问我还是在给我做什么? :/:/:/ –

+0

对不起,不好编辑:)好吧。我只是做了它,并最终按照它应该的方式工作。所以我做了什么:1.添加视图并将超前查看和顶部和底部的前后约束设置为工具栏。 2。将UIImage作为子视图移动到视图中,并设置以下约束:使用'> ='常量将X和Y对准超级视图,前导视图,尾视图,顶视图和底视图,最后添加纵横比1:1。现在它可以在任何设备上运行良好! – Pavel

+0

仍然令人兴奋的如何在不添加视图的情况下达到该效果,因为在这种情况下,我不能使用对齐Y约束,因为图像不在主超级视图的垂直中心 – Pavel

相关问题