【问题标题】:Autolayout with imageview in portrait and landscape具有纵向和横向图像视图的自动布局
【发布时间】:2014-03-15 07:45:09
【问题描述】:

我是自动布局的初学者。 我目前面临一个关于布局图像的问题。我尝试通过添加约束来解决这个问题,但我不知道如何解决这个问题。 有一个图像视图从屏幕的一端延伸到另一端。它适用于纵向模式,但是当我切换到横向时,框架是固定的。我尝试进行方面填充,但这似乎也不起作用。 我如何将图像拉伸到横向的末端。或者当方向改变时我应该使用其他图像吗? 下面的图片展示了我得到了什么以及我需要什么?谁能帮忙?

谢谢

【问题讨论】:

    标签: ios autolayout


    【解决方案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 上的约束,您最终会掌握它的窍门。

      我希望这在某种程度上有所帮助。

      干杯,吉姆。

      【讨论】:

      • 谢谢,我发现上面的答案非常适合普通视图,但是当我将它用于容器视图时它不会调整大小,知道该怎么做吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 2017-11-28
      相关资源
      最近更新 更多