私は画像ビューのコレクションビューを持っており、iPhone 7のシミュレータで実行すると、レイアウトは私が望む通りです。画像は1行に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で割った画面の幅になることを示すことによって、再スケール画像だろう、と同じ高さのことを考えていましたそれに。しかし、私はそれについて混乱していると思います。おそらく、セル内の画像の表示ではなく、セルのサイズを変更するだけです。しかし、私は、画面サイズで動的に拡大縮小するように画像の表示サイズをどこで設定できるかわかりません。
コレクションビューのイメージセルがそれに応じてサイズ変更されるように変更するにはどうすればよいですか?
EDITは:
EDIT 2:cellForItem
メソッドへcell.postImage.contentMode = UIViewContentMode.scaleAspectFill
を入れた後iOSFreakのソリューションを試みた後、問題が解決しない:
あなたは 'myImageView.contentMode = UIViewContentModeScaleAspectFill'を使用していますか? – Zhang
イメージビューのコンテンツモードを、ストーリーボードに記入するように縮尺を設定しました。しかし、私があなたのアドバイスを試して、 'cell.postImage.contentMode = UIViewContentMode.scaleAspectFill'を私の' cellForItem'メソッドに追加したとき、問題は多少は解決されましたが、完全ではありません - 今やいくつかのセルは正しく並んでいます彼らの側にはスペースがあります。そして第1行と第2行の間にまだスペースがあります。私は写真をアップロードしようとします。 – KingTim
今私が見ていることを示すために私の投稿を編集しました。 – KingTim