【问题标题】:how to resize the image to fit in UIImageview in a tableview cell如何调整图像大小以适合表格视图单元格中的 UIImageview
【发布时间】:2019-06-21 02:17:27
【问题描述】:

我从用户那里获取数据,例如产品的标题、描述和照片,并将其显示在帖子页面上。我得到图像,将 url 下载到 firebase,然后使用 url session 再次获取它,这是我获取图像的代码:

class ImageService {

    static let cache = NSCache<NSString, UIImage>()

    static func downloadImage(withURL url:URL, completion: @escaping (_ image:UIImage?)->()) {
        let dataTask = URLSession.shared.dataTask(with: url) { data, responseURL, error in
            var downloadedImage:UIImage?

            if let data = data {
                downloadedImage = UIImage(data: data)
            }

            if downloadedImage != nil {
                cache.setObject(downloadedImage!, forKey: url.absoluteString as NSString)
            }

            DispatchQueue.main.async {
                completion(downloadedImage)
            }

        }

        dataTask.resume()
    }

    static func getImage(withURL url:URL, completion: @escaping (_ image:UIImage?)->()) {
        if let image = cache.object(forKey: url.absoluteString as NSString) {
            completion(image)
        } else {
            downloadImage(withURL: url, completion: completion)
        }
    }

,这是我设置此数据的代码:

func set(post:Post) {
    ImageService.getImage(withURL: post.imageid) { (image) in

        self.postimage.image = image
    }
    titlel.text = post.title
    usernamel.text = post.username
    desct.text = post.desc
}

,当应用程序运行时,我的帖子看起来像这样:no goodnogood2。另外,这是我的单元格的照片,它们都有限制,所以我认为问题不在于这个单元格,而是still。我只是希望用户将图像视为方形普通图片,而不是像这样看起来又高又瘦。

【问题讨论】:

    标签: ios swift uitableview uiimageview uiimage


    【解决方案1】:

    将图像视图内容模式设置为方面填充,并将剪辑绑定属性设置为 true。

    self.postimage.contentMode = .scaleAspectFill
    self.postimage.clipsToBounds = true
    

    【讨论】:

      【解决方案2】:

      使用 self.postimage.contentmode.scaleaspectfit

      【讨论】:

      • 效果更好。谢谢
      【解决方案3】:

      在您的屏幕截图中,我可以看到您没有提供高度限制,这就是图像很高的原因。为了显示方形图片,只需在 UIImageView 上提供宽度和高度限制

      【讨论】:

        猜你喜欢
        • 2010-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-08
        • 2019-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多