大佬教程收集整理的这篇文章主要介绍了Xcode Imageview Aspect Fit删除额外空间,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果图像很大,使用Aspect Fit的Imageview会在顶部和底部创建大量额外空间.额外空间(灰色背景色)如下图所示.
如何删除额外空间?
>此特定图像为890 x 589,屏幕截图是在iphone 6S模拟器上拍摄的.
>我使用UITableViewAutomaticDimension来自动表格单元格高度.
> imageview上没有高度限制,因此可以相应地调整大小.
先谢谢你.
这里,图像宽度大于可以放入UIImageView的图像宽度,因此Aspect Fit会调整图像大小,保持原始高宽比.如果您读取图像大小(通过手表或断点或其他东西),您将看到图像大小(例如)600(h)x 800(W)(3:4比率). UIImageView宽度是(例如)320(w),因此显示的图像缩放到240(h)×320(w)(保持3:4比率).但是图像宽度仍然是真正的600 x 800,并且由于UIImageView高度没有限制,UIImageView尺寸为600 x 320 – >它将UIImageView高度设置为原始图像高度(600),因为它可以.
我的解决方案是:(Swift 3)
将高度约束添加到Main.storyboard中的UIImageView并通过Outlet链接它:
@H_502_37@@IBOutlet weak var displayimage: UIImageView! @IBOutlet weak var displayimageHeightConsTraint: NSLayoutConsTraint!
然后测试UIImageView是否比它所拥有的图像更小(宽度).如果是这样,请设置高度约束,以使UIImageView高度:宽度比与图像宽高比相同:
@H_502_37@if Displayimage.frame.size.width < (displayimage.image?.size.width)! { displayimageHeightConsTraint.constant = displayimage.frame.size.width / (displayimage.image?.size.width)! * (displayimage.image?.size.height)! }
如果由于调整UIImageView高度受限且宽度设置为原始图像宽度的问题而在图像的两侧存在空白,则也可以进行补充操作.
@H_502_37@@IBOutlet weak var displayimageWidthConsTraint: NSLayoutConsTraint! if Displayimage.frame.size.height < (displayimage.image?.size.height)! { displayimageWidthConsTraint.constant = displayimage.frame.size.height / (displayimage.image?.size.height)! * (displayimage.image?.size.height)! }
以上是大佬教程为你收集整理的Xcode Imageview Aspect Fit删除额外空间全部内容,希望文章能够帮你解决Xcode Imageview Aspect Fit删除额外空间所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。