【问题标题】:How to setup image in UIImageView如何在 UIImageView 中设置图像
【发布时间】:2020-04-15 01:51:53
【问题描述】:

我有一个随机大小的UIImageView,我希望图像底部对齐并按宽度缩放以保持纵横比。

蓝色矩形是UIImageView,填充绿色矩形是图像。当视图的纵横比(即宽度/高度)较小时,图像占据视图的底部(左侧图像)。当视图的纵横比很大时,图像会被剪裁(右侧图像)。在这两种情况下,图像都会缩放以填充视图的宽度。

如何实现此行为?我想我应该使用

imageView.contentMode = .scaleAspectFill

保留纵横比,但如何让图像贴在视图底部?

【问题讨论】:

    标签: ios uiimageview autolayout ios-autolayout


    【解决方案1】:

    如果您使用 Storyboard,请使用约束来设置图像以附加到具有相关边距的正确位置。

    Apple's auto-layout guide

    如果您以编程方式执行此操作,则可以使用锚点:

    imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
    imageView.leftAnchor...
    

    如果你不使用自动图层,只需使用框架将图像定位到视图的底部:

    imageView.frame = CGRect(
            x: (UIScreen.main.bounds.size.width - imageView.frame.size.width) / 2,
            y: UIScreen.main.bounds.size.height - imageView.frame.size.height,
            width: imageView.frame.size.width,
            height: imageView.frame.size.height)
    

    【讨论】:

    • 我需要将 UIImage 放在 UIImageView 中。我无法为 UIImage 设置任何约束。
    • 约束是针对 UIImageView 的,你应该把它放在你需要的地方,UIImage 会在里面,UIImageView 应该包含图片,如果你想适应它,使用 . scaleAspectFit
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多