ビューのサブビューの一部をビューの境界にクリップしたいだけです。これを迅速かつ簡単に実装する方法を設定するためのアイデア。UIViewに「選択的」clipToBoundsを実装する方法、つまり他のサブビューをクリップしないでください。
コンテキストの場合:ビューからドラッグできるサブビューのセットを持つUIScrollViewがあります。ビューからそれらをドラッグすると、サブビューがクリップされないようにします。そうでなければ、私はそれらを切り取ってほしい。
- サブビューをレイアウトする前に[view setClipToBounds:YES]を実行すると、サブビューをドラッグするまではすべて正常です。ドラッグが開始されたときに、touchesBegan:withEventで[view setClipToBounds:NO]を実行し、touchesEnded:withEvent:で[view setClipToBounds:YES]を実行すると、ドラッグ中にスクロールビューが再描画されるため、以前にクリップされたサブビューが表示されます。
- 私が試したが、うまくいかないアプローチは、ドラッグが開始されるとすぐに、スクロールビューからスクロールビューのスーパービュー(サブビューのtouchesBegan:withEvent)にサブビューを移動しています。ただし、ビューをあるビューから別のビューに移動すると、タッチの追跡が失われ、ドラッグが終了したように見えます。
なぜそれをUIScrollViewDelegateメソッドで実装しないのですか? – Felix
「更新」を答えに入れてそれを受け入れるべきです。 –
ありがとうJesse。私はあなたのアドバイスを取ってきました。 – Obliquely