41

カスタムUICollectionViewFlowLayoutを持つUICollectionViewがあります。これは水平方向にスクロールし、一度に1つの項目(全高)のみを表示します。私はそれがページに固執するようにpagingEnabled = YESを持っています。データソースに1つのアイテムしかない場合、UICollectionViewはバウンスしません。

UICollectionViewは、特定の日に写真を表示します。最初は+ 1日を変更するボタンがありましたが、ユーザーがコレクションビューを最初のイメージまたは最後のイメージより先に(所定のしきい値を超えて)引っ張って1日を変更することができればうまくいくと思いました。私はこれをUIScrollViewデリゲートメソッドを使って実装しました。コレクションビューに2つ以上のアイテムがある場合はうまくいきます。

これは説明するのが難しいですが、アイテムが1つしかない場合は、そのアイテムを境界線を超えて引っ張ることができません。 I.それにバウンスはありません。

私はこの動作をしたいと思いますが、まずこの問題を解決する必要があります。私はpagingEnabled = YESを削除し、targetContentOffsetForProposedContentOffset:proposedContentOffset:withScrollingVelocityを使用すると、動作するようになるかもしれないと思っていますが、ページングが可能にするうんざりな動作を楽しんでいます。 (これらは相互に排他的です)。

これに関するご意見はありますか?

答えて

98

UICollectionViewは、alwaysBounceHorizontalおよびalwaysBounceVerticalの特性を有する。水平をYESに設定するdidトリック。

+13

これをInterface Builder内で有効にするには、「バウンス垂直」オプションを使用します。 –

+0

'alwaysBounceHorizo​​ntal'と' alwaysBounceVertical'はビュー 'UIScrollView'から生成されます。 – tounaobun

+0

これは、 'UITableView'がこのプロパティを' YES'に設定していると言うことができます。 –

2

@VaporwareWolfに感謝します。答えは正しいです。

が(ストーリーボードまたはあなたのコードを介して)同時にYESbouncesプロパティを設定することを忘れないでください:私はそれをサプリメントを追加したいです。

関連する問題