1. ホーム
  2. ios

[解決済み] UIScrollViewのページングをフレームサイズより小さい単位で行う

2023-04-14 18:33:03

質問

画面の幅はあるが、高さが70ピクセルしかないスクロールビューがあります。そこには、ユーザーが選択できるようにしたい 50 x 50 のアイコン (周囲にスペースがある) が多数含まれています。しかし、私は常にスクロール ビューがページ方式で動作し、常に正確な中心にあるアイコンで停止するようにしたいと考えています。

アイコンが画面の幅と同じであれば、UIScrollViewのページングがそれを処理するため、これは問題ではありません。しかし、私の小さなアイコンはコンテンツのサイズよりはるかに小さいので、うまくいきません。

この動作は、AllRecipes というアプリで以前見たことがあります。ただ、どうすればいいのかわかりません。

アイコンの大きさ単位でページングを行うにはどうしたらよいでしょうか?

どのように解決するのですか?

スクロールビューを画面のサイズ (幅) よりも小さくして、IB の "Clip Subviews" チェックボックスをオフにしてみてください。次に、透明でuserInteractionEnabled = NOのビューをその上に(幅いっぱいに)重ね、hitTest:withEvent:を上書きして、スクロールビューを返します。これで、あなたが探しているものが得られるはずです。参照 この回答 をご覧ください。