【问题标题】:Image View 16:9 aspect ratio图像视图 16:9 纵横比
【发布时间】:2019-03-19 05:35:53
【问题描述】:

我希望特定图像视图中的所有图像都适合 16:9 的纵横比。图像应调整大小以适应这些限制,而不改变其自身的纵横比。

因此,例如,如果我有一个纵横比为 4:3 的图像,它应该在保持纵横比的同时将自身调整到 Image View 的 16:9 约束。

所以我的问题是,如何使用界面生成器将图像视图设置为 16:9 的纵横比?

【问题讨论】:

    标签: ios xcode uistoryboard nslayoutconstraint aspect-ratio


    【解决方案1】:

    步骤:

    1. 添加 宽度约束纵横比约束,如下所示:(注意: 您也可以使用前导、尾随约束 -- 它们解析 X 位置。要解决 Y 位置,您可以添加顶部或底部约束 (OR) Align Center Y 约束。):

    1. 选择您的图像视图并转到Size Inspector,为刚刚添加的纵横比约束选择编辑,然后将 16:9 输入到那里的乘数。完成了。

    如果您更改宽度限制,高度将根据纵横比自动更改。 确保将ImageView 的内容模式设置为scaleAspectFill

    【讨论】:

    • 我可以设置普通的Leading和Trailing约束而不是设置宽度约束吗?
    • 当然可以。您可以进行前导、尾随——它们解决了 X 位置。对于 Y,您可以添加顶部或底部约束或 Align Center Y 约束。
    【解决方案2】:

    iOS 13,Swift 5.1

    如果有人想用编程约束来做到这一点,这就是秘诀。

    imageView.translatesAutoresizingMaskIntoConstraints = false
    

    A) 4:3

    imageView.heightAnchor.constraint(equalTo: widthAnchor, multiplier: 3.0/4.0).isActive = true 
    

    B) 16:9

    imageView.heightAnchor.constraint(equalTo: widthAnchor, multiplier: 9.0/16.0).isActive = true
    

    【讨论】:

    • 不应该是 16/9 而不是 9/16
    • 我知道,但它被颠倒了。如果它对你有用,请给我投票。
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多