来自 URL 的图像不遵循故事板中的样式规则
Posted
技术标签:
【中文标题】来自 URL 的图像不遵循故事板中的样式规则【英文标题】:Image from URL doesn't follow the styling rules from storyboard 【发布时间】:2017-04-18 20:12:11 【问题描述】:所以我试图将图像从 URL 显示到图像中(通过 IBOutlet 连接)。但是,图像确实显示但不遵循故事板中设置的样式规则。如:Aspect Fill。这会导致图像与模拟器中的所有内容重叠。
代码:
let url = URL(string: "http://www.wsvh.nl/wp-content/uploads/bekergoud.jpg")
DispatchQueue.global().async
let data = try? Data(contentsOf: url!) //make sure your image in this url does exist, otherwise unwrap in a if let check / try-catch
DispatchQueue.main.async
self.nieuwsFeaturedImage.image = UIImage(data: data!)
结果:
您可以看到图片与标题和描述重叠。
我该如何解决这个问题?
【问题讨论】:
试试[UIImage imageWithData:data scale:[UIScreen mainScreen].scale]
【参考方案1】:
如果您设置了方面填充,您还需要设置nieuwsFeaturedImage.clipsToBounds = true
或在Interface Builder 中选中Clips to Bounds
框。
没有它,您的图像会根据比例缩放,因此它会扩展到您指定的内容区域之外。您将需要截断所有额外的内容 - Clips to Bounds 就是为了这个。
【讨论】:
这种解决方案在极少数情况下不起作用。在这种情况下,您需要在代码中使用[UIImage imageWithData:data scale:[UIScreen mainScreen].scale]
以对图像应用正确的比例。IE:即使启用 ClipToBounds,@2x 图像也会对我执行此操作。以上是关于来自 URL 的图像不遵循故事板中的样式规则的主要内容,如果未能解决你的问题,请参考以下文章