图片无法正确显示,我想像 Facebook 图片帖子一样显示

Posted

技术标签:

【中文标题】图片无法正确显示,我想像 Facebook 图片帖子一样显示【英文标题】:Image not show properly, I want to show like Facebook image post 【发布时间】:2017-07-10 06:48:26 【问题描述】:

我必须尝试所有类型的内容模式、第三方和大量谷歌搜索。 但是,对我来说不是成功。 我想像 Facebook 图片帖子一样显示。 我们在 facebook 上发布图片,facebook 显示正确的图像并将图像非常正确地填充到图像视图中。

【问题讨论】:

您可以添加您的要求的屏幕截图吗?到目前为止你到底做了什么? 你检查 imageViewContentMode 了吗?尝试将内容模式设置为 AspectFit/Fill。如果可能,请提供有关此问题的更多见解。 【参考方案1】:

按照步骤进行

    setImage 到 UIImageView (with UIViewContentModeScaleAspectFit) 获取图片大小(CGSize imageSize = imageView.image.size) UIImageView 调整大小。 [imageView sizeThatFits:imageSize]

    移动你想要的位置。

        CGSize imageSize = imageView.image.size;
        [imageView sizeThatFits:imageSize];
        CGPoint imageViewCenter = imageView.center;
         imageViewCenter.x = CGRectGetMidX(self.contentView.frame);
        [imageView setCenter:imageViewCenter];
    

【讨论】:

谢谢@junaidsidhu。我想像 Facebook 一样填充图像。任何类型的图像(如高度 > 宽度、宽度(高度 * 2)> 高度)都由 facebook 正确填充。【参考方案2】:

设置 UIImageView 大小 == 图像(比例):

@IBOutlet weak var heightConstraint: NSLayoutConstraint!
@IBOutlet weak var widthConstraint: NSLayoutConstraint!

func setImage(image: UIImage) 
    imageView.image = image
    let screenSize = UIScreen.main.bounds.size

    let imageAspectRatio = image.size.width / image.size.height
    let screenAspectRatio = screenSize.width / screenSize.height

    if imageAspectRatio > screenAspectRatio 
        widthConstraint.constant = min(image.size.width, screenSize.width)
        heightConstraint.constant = widthConstraint.constant / imageAspectRatio
    
    else 
        heightConstraint.constant = min(image.size.height, screenSize.height)
        widthConstraint.constant = heightConstraint.constant * imageAspectRatio
    
    view.layoutIfNeeded()

参考链接AutoLayout: UIImageView and Aspect Fit content mode

【讨论】:

以上是关于图片无法正确显示,我想像 Facebook 图片帖子一样显示的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 分享错误:“您请求的页面现在无法显示”

在 facebook 上分享链接会显示错误的图片

如何使用swift 4显示像facebook上传图片这样的collectionView?

无法将 Facebook 个人资料图片存储在 sql 数据库中

未通过 Graph API 接收 Facebook 图片

Facebook iOS SDK:获取专辑封面图片