我有一個圖像視圖的集合視圖,當在iPhone 7上的模擬器中運行時,佈局就是我想要的 - 每行顯示3個圖像,兩個圖像之間沒有間距。但是,當我在手機(iPhone 6+)上運行它時,圖像之間會有間距。如何在集合視圖中顯示圖像視圖根據屏幕大小自行調整大小?
這些都是建立佈局的功能:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(0,0,0,0)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 0
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 0
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let imgWidth = view.bounds.width/3.0
let imgHeight = imgWidth
return CGSize(width: imgWidth, height: imgHeight)
}
我在想,sizeForItem
會時指出,寬度是屏幕的寬度除以三,高度等於重新縮放圖像對此。但我想我對此感到困惑,也許它只是調整單元格大小,而不是調整內部的圖像視圖。不過,我不確定在哪裏可以將圖像視圖大小設置爲隨屏幕大小動態縮放。
如何更改它以便集合視圖中的圖像單元相應地調整其大小,並且每行保留3行,無間距,而不管屏幕大小如何?
編輯:
編輯2:把cell.postImage.contentMode = UIViewContentMode.scaleAspectFill
到cellForItem
方法後試圖iOSFreak的解決方案後,問題仍然存在:
您是否在使用'myImageView.contentMode = UIViewContentModeScaleAspectFill'? – Zhang
我將圖像視圖內容模式設置爲縮放以填充故事板。然而,當我嘗試了你的建議,並添加了'cell.postImage.contentMode = UIViewContentMode.scaleAspectFill'到我的'cellForItem'方法中時,它在一定程度上解決了問題,但並不完全 - 現在一些單元格並排正確對齊,他們的側面有空間。第一排和第二排之間仍有空間。我會嘗試上傳一張照片。 – KingTim
我編輯了我的帖子以顯示我現在看到的內容。 – KingTim