数日間、Xcode のサブクラスとカテゴリを理解しようとしましたが、結局、発生するイベントが 1 つ見つかりました。
- (void)setContentOffset:(CGPoint)contentOffset {
NSLog(@"foo");
}
さらに混乱させるために、 Apple iOS のドキュメントを読んだ後、次のような情報が得られます。
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated {
NSLog(@"bar");
}
最初のイベントは発生しますが、Apple のドキュメントでは発生しません。どうして?!
しかし、最初のケースでは、彼が解雇されたにもかかわらず、UIScrollView はスクロール/ドラッグ アンド バウンス動作を失います。setContentOffset
UIScrollViewのデフォルトの動作を維持するには、オーバーライド後に親メソッドを呼び出す必要があるためだと思います。しかし、時代遅れの Xcode アプローチのテストにはすでに疲れ果てています。
なぜ2番目のコードが起動されず、親のオーバーライドされたメソッドをどのように呼び出すのでしょうか?
前もって感謝します。