如何根据swift4或5中的图像大小使图像View高度和宽度(纵横比)动态变化?
How to make image View Height and width (Aspect Ratio) dynamic according to the image size in swift 4 or 5?
我有一个集合视图,我在其中填充从后端获取的图像。我正在使用 AutoLayout 并且我静态地将 imageview 的高度设置为 180,将宽度设置为屏幕宽度。但我了解到,每张图片都有不同的高度和宽度,这是我从后端获得的。那么,如何设计我的图像视图,以便我可以以原始大小显示图像?
首先,去掉imageView上设置的高宽约束
接下来,将图像视图的前导、尾随、顶部、底部约束设置为0。
您可以通过下面的代码获取图片大小。
let image = UIImage(named: "spider.jpeg")
let imageSize = image?.size
通过图片大小设置单元格大小如下
extension ViewController: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
...
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return yourImageSize
}
}
我有一个集合视图,我在其中填充从后端获取的图像。我正在使用 AutoLayout 并且我静态地将 imageview 的高度设置为 180,将宽度设置为屏幕宽度。但我了解到,每张图片都有不同的高度和宽度,这是我从后端获得的。那么,如何设计我的图像视图,以便我可以以原始大小显示图像?
首先,去掉imageView上设置的高宽约束
接下来,将图像视图的前导、尾随、顶部、底部约束设置为0。
您可以通过下面的代码获取图片大小。
let image = UIImage(named: "spider.jpeg")
let imageSize = image?.size
通过图片大小设置单元格大小如下
extension ViewController: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
...
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return yourImageSize
}
}