##実現させたいこと
先日の続きになるのですが、collectionviewで画像を表示することができましたが、セル(画像)のサイズがバラバラになって表示されてしまうので、同じサイズで表示させたい。
以下のように試してみましたが、どこを改善したら、全ての画像が同じサイズで並ぶようになるのかご教示いただきたいです。
Swift
1@IBOutlet weak var collectionView: UICollectionView! 2 3 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 // セルのレイアウト 7 let layout = UICollectionViewFlowLayout() 8 layout.scrollDirection = .horizontal // 横スクロール 9 layout.minimumInteritemSpacing = 5 10 layout.itemSize = CGSize(width: 220, height: 220) 11 collectionView.alwaysBounceHorizontal = true 12 collectionView.collectionViewLayout = layout 13 14 } 15
Image View の Content Mode を Scale to Fill または Aspect Fill にしたらどうなりますか?
(また、デバッグ用に Collection View や Picture Cell に異なる背景色を設定してみては。)
デバッグは Debug メニューの View Debugging → Capture View Hierarchy の方が良いかも。
>hoshi-takanoriさん
いつもご丁寧にありがとうございますmm
Aspect Fillにしたところ均等に表示できました!(基本的な部分が抜けておりました。)
しかし、端までスクロールできないという別問題が発生したのですが、こちらはAuto Layoutの設定で何かが抜けているからでしょうか。。。?
ちょっとよく分かりません。端までスクロールできないとは、何がどうなるんでしょうか?
storyboardやxibをiPhone11で作成しており(添付画像参照)、iPhone11でビルドした際は3枚画像を表示させたとした場合、横スクロールで画像の端までスクロールできるのですが、端末サイズの小さいiPhoneSE(1st)でビルドした際、画像の端までスクロールするとバウンスして戻ってしまい、3枚目の画像の端まで表示がされない状態になってしまいます。(単純にitemSizeの問題でしょうか。。。)
うーん、そんなことにはならないはずですが…。ちなみにその状況だと高さも足りなくなりますよね。
はい。。。高さもかわっちゃいます。。。Auto Layoutの設定が良くないですね。。。?
あなたの回答
tips
プレビュー