
当iPad处于纵向时,我在应用程序的底部和中心附近有登录UIVIEw,几乎就在键盘的正上方,公司徽标位于以顶部为中心的UIImageVIEw中.我正在使用autoLayout约束来保持公司徽标被吸引到顶部和右侧,并且Login UIVIEw被吸引到底部和右侧.
http://chattypics.com/files/ipadportrait_0dzalz3ipx.png
当我将其旋转到横向时,效果是这样的:
http://chattypics.com/files/ipadlandscape1_j15ps5c95u.png
我希望它看起来像这样
http://chattypics.com/files/ipadlandscape2_sobufqkdhg.png
所以,我希望这两个元素是并排的,我希望Login UIVIEw更加向右.在纵向模式下,UIVIEw右侧的间距量大于我想要的横向模式,并且距离底部的距离小于我想要的横向模式.我可以通过“容器中心”来处理这个问题,但这在横向模式下也不起作用.
在横向模式下,我使用了详细的in this post技术使事情“并排”,但我不相信这就足够了,因为我希望“视图”中的布局在旋转时也是不同的.
我可以想办法以编程方式解决这个问题,但是我无法想象这是一个独特的需求,所以是否有某些方法只使用IB中的约束来解决这个问题?一些“这就是IB中的约束是为了什么而设计的”,可能会处理优先事项?或者我只需要在代码中解决这个问题?
解决方法 您可以使用Interface Builder中的约束的不同优先级来实现此类行为.对于两个视图(“公司徽标”和“登录视图”),您需要设置“容器中的垂直中心”和“容器中的水平中心”约束,并且优先级降低.接下来,您需要使用具有“小于或等于”之类关系的规则来定义“垂直空间”和“水平空间”约束.
我只是使用Interface Builder实现了这种行为.
> Screencast demonstrating this in action.
> Source code on Github(我将它设置在仅限iPhone的故事板中,但iPad的想法类似).
您还可以使用不同的优先级将“小于或等于”与“大于或等于”组合以获得最佳结果.
总结以上是内存溢出为你收集整理的ios – 如何在不使用代码的情况下使用约束AutoLayout来指定横向与纵向的不同布局?全部内容,希望文章能够帮你解决ios – 如何在不使用代码的情况下使用约束AutoLayout来指定横向与纵向的不同布局?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)