gpt4 book ai didi

ios - 带有标签的 ImageView 对于不同大小的图像具有动态位置

转载 作者:搜寻专家 更新时间:2023-11-01 05:38:35 24 4
gpt4 key购买 nike

我正在尝试在我的 iOS 9 Swift 应用程序中创建一个简单的图库图像详细信息 View 。

我想要顶部的图像和下面的标签(用于图像标题)。然而,所有图像的形状和大小都不同。

我正在为 ImageView 使用 Aspect Fit,这对横向图像造成了问题。

ImageView 不会调整图像大小以调整图像,因此您最终会在图像上方和下方留下空白,这会在我的图像和标题之间造成很大的差距。

在下面的示例中,黄色是 ImageView ,蓝色是具有宽高比调整大小的图像本身,粉红色是标题标签。

Example Diagram

是否有任何解决方案可以使 ImageView 适合图像的纵横比,但相应地裁剪 ImageView 以删除未使用的空间?我尝试在 Storyboard 中勾选“剪辑 subview ”,但无济于事。

Constraints

最佳答案

我认为关键是在 imageview 上设置宽高比约束。

class GalleryViewController: UIViewController {

var image: UIImage!

@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var captionLabel: UILabel!

override func viewDidLoad() {
super.viewDidLoad()

let aspectRatio = image.size.width / image.size.height
imageView.addConstraint(NSLayoutConstraint(item: imageView, attribute: .Width, relatedBy: .Equal, toItem: imageView, attribute: .Height, multiplier: aspectRatio, constant: 0.0))

imageView.image = image
captionLabel.text = (aspectRatio < 1.0) ? "Portrait" : "Landscape"
}

@IBAction func viewWasTapped(sender: UITapGestureRecognizer) {
presentingViewController?.dismissViewControllerAnimated(true, completion: nil)
}

}

看看我的示例项目: https://www.dropbox.com/sh/oa8g96sknqqq97p/AADvEFpK2L9FbT-gBt5W49pQa?dl=0

关于ios - 带有标签的 ImageView 对于不同大小的图像具有动态位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33813798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com