具有纵向和横向图像视图的自动布局
Posted
技术标签:
【中文标题】具有纵向和横向图像视图的自动布局【英文标题】:Autolayout with imageview in portrait and landscape 【发布时间】:2014-03-15 07:45:09 【问题描述】:我是自动布局的初学者。 我目前面临一个关于布局图像的问题。我尝试通过添加约束来解决这个问题,但我不知道如何解决这个问题。 有一个图像视图从屏幕的一端延伸到另一端。它适用于纵向模式,但是当我切换到横向时,框架是固定的。我尝试进行方面填充,但这似乎也不起作用。 我如何将图像拉伸到横向的末端。或者当方向改变时我应该使用其他图像吗? 下面的图片展示了我得到了什么以及我需要什么?谁能帮忙?
谢谢
【问题讨论】:
【参考方案1】:将此条件放在 viewddidload 以及 viewwillappear 中
if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)
//LANDSCAPE
YOURIMAGEVIEW SETFRAME HERE
else
//PORTRAIT
YOURIMAGEVIEW SETFRAME HERE
【讨论】:
【参考方案2】:在自动布局中尝试从类文件中设置 imageView 的框架将不起作用,因为它会与对象的约束属性冲突。
相反,您希望设置常量,以便对象的对齐边缘始终接触视图的一侧。
首先我建议选择你的 imageView 对象并清除当前的约束
然后,在选择对象时,通过将 LHS 和 RHS 距离的约束添加到其持有视图来手动设置约束。
使用界面构建器/实用程序面板更改和设置属性是设置此自动扩展操作的最佳方式。
也可以通过编程方式设置约束(如果您想要自定义动画等,这很有用),但是通过玩弄 IB 上的约束,您最终会掌握它的窍门。
我希望这在某种程度上有所帮助。
干杯,吉姆。
【讨论】:
谢谢,我发现上面的答案非常适合普通视图,但是当我将它用于容器视图时它不会调整大小,知道该怎么做吗?以上是关于具有纵向和横向图像视图的自动布局的主要内容,如果未能解决你的问题,请参考以下文章