2017-06-25 2 views
1

私はセルを水平に表示するcollectionViewセルを持っています。私は画面上に表示するセルの数を設定したいだけで、表示したい量の後に...と表示するか、それ以上のセルがあることを示します。ユーザーがより多くのセルにスクロールしないようにしたいスウィフトiOS - 水平CollectionViewセルが画面境界を超えようとしているときに切り捨てる方法

iPhone 4/5/6/7/iPadなどの画面サイズが異なるため、取得するアイテムの数を正確に指定したくない表示されます。代わりに、私は例えば画面サイズに基づいてアイテムの量を切り捨てたいと思っています。 .compactサイズクラスのiPhone 7以降では、少なくとも5つのセルが画面に収まることができますが、iPhone 4では3つのセルしか画面に収まらず、iPadではおそらく20のセルにしか収まりません。私はこれを実現する方法を

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 

    //I know this is comparing an Int to a CGRect and it won't work 
    if items.count > UIScreen.main.bounds.width{ 
     //stop count and display truncation dots ... 
    } 
    return self.items.count 
} 

私はこのような何かをしたいと想像しますか?あなたはあなたがあなたの画面サイズに応じて、セルの幅を計算します。この場合のように、手動で各セルのサイズを返す必要がプロトコル方式に

collectionView(_ collectionView: UICollectionView, 
        layout collectionViewLayout: UICollectionViewLayout, 
      sizeForItemAt indexPath: IndexPath) -> CGSize 

を実装する必要があることを達成するために

答えて

1

+0

私はそれを試してみます。切り捨てのドットをどのように表示するのですか?私は多分特定のセルtを持っているかもしれないと思っていました。それらのドットはすでに内部にあり、セルが画面の境界線に近づくと、切り捨てられたセルが最後に表示されます。より良い方法がないかぎり? –

+0

私のレスポンスにコメントを追加すると、画面に応じて必要なセクション内の項目の数を返す画面を計算し、最後の行を追加して点を表示する必要があります。 – Jonathanff

+0

ありがとう私はそれを試してみます –

関連する問題