検索した質問がありますが、決定的な答えが見つかりません。これが私のレイアウトです:
UIView - ViewController
|_UIScrollView - added programatically
| |_UIView to hold a backgound/perimeter - added programmatically
|_UIView 1 - added programmatically
|_UIView 2 - added programmatically
and so on
私の質問は、UIView 2 on touch と言うと、ViewController が "touchesMoved" を 1 回だけ呼び出すのはなぜですか?
現在、UIView には独自の touchesMoved メソッドがありますが、ScrollView と通信してその位置を更新する必要があるため、コントローラーの touchesMoved を呼び出す必要があります。その UIView 2 が角に近い場合など、ScrollView が少し移動して UIView 2 が完全に表示されるようにします。
これを回避する方法がない場合、ScrollView を UIView 2 から更新して、隅に近づいたときにスクロールする方法はありますか?
編集:
回避策を見つけたかもしれないと思います。これが Apple に受け入れられるかどうかはわかりませんが、
= であるインスタンス変数を self.superview に呼び出しました。これにより、UIView の touchesMoved 内で ScrollView に戻ることができます。
メソッド [ScrollView setContentOffset:(CGPoint)contentOffset animation:(BOOL)animated] を呼び出すことができるので、サブビュー (UIView2) が UIWindow の端に近づくと ScrollView が更新されます。
提案していただきありがとうございます。