CollectionViewのアイテムレイアウトのサイズをアスペクト比を維持したスクリーンサイズに合わせようとしています。CollectionViewのアイテムレイアウトのサイズをスクリーンサイズに合わせて調整する
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
scrollDirection = UICollectionViewScrollDirection.Horizontal
itemSize = CGSizeMake(PageWidth, PageHeight)
minimumInteritemSpacing = 10
}
:
UICollectionViewFlowDelegate
から継承
CardLayout
クラス、でその後
private let CardWidth: CGFloat = 362
private let CardHeight: CGFloat = 568
:今では唯一のiPad上でうまく機能まで、私は資産の大きさに応じて、高さと幅をsettedました
問題はアイテムがカードなので、height
> です。私はiPhoneとiPadの両方をランドスケープで開発していますので、UIScreen.mainScreen().bounds
を成功させようとしました。アプリは風景だけであることから、
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize{
retrun CGSizeMake(collectionView.frame.size.width/2 ,collectionView.frame.size.height/ 2)
}
私はreturn
にwidth
とheight
をスワップ:私はiPhoneとiPadの両方がCollectionViewController.swift
に追加するためのまともな結果を得ることができました。カードがアスペクト比を維持しないため、これは最良の解決策ではありません。アスペクト比を維持しながら画面にサイズを適応させる方法はありますか?