の他のすべてのメソッドなので、そうここにある、私はこの問題のために、すべての研究をしましたが、既存のソリューションのどれも私の問題に対処するように見えるていない場合:問題scrollViewDidScrollを上書きではなく、オーケーUIScrollViewDelegate
- 私は、私はすでにこのことからコードを実行しようとしている 、私は(すべてのメソッドではなく)UIScrollViewDelegateからscrollViewDidScrollメソッドをオーバーライドしたい
をUIScrollViewのを拡張するカスタムクラスを持っている(とのUIViewが含まれています)問題:How to subclass UIScrollView and make the delegate property privateしかし何らかの理由で、何もしません(オーバーライドされたカスタムメソッドが呼び出されることはありません)。私はまた、あなたが(iPhone: Do I need to implement all methods for UIScrollViewDelegate (or any delegate)あたりなど)プロトコルを実装するカスタム委譲クラスを作成する場合は、UIScrollViewDelegateからのすべてのメソッドを実装する必要がないことを知っている - しかし、私はこれを行うとき:
MyScrollViewDelegate.h
@interface MyScrollViewDelegate: NSObject <UIScrollViewDelegate>
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;
@end
UIScrollを拡張サブクラスにおいてMyScrollViewDelegate.m
@implementation MyScrollViewDelegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"Custom scrollViewDidScroll called.");
// -- some more custom code here --
// ...
}
@end
ビュー
// this scrollview is initiated by the NIB
- (void)awakeFromNib
{
...
[self setDelegate:[[MyScrollViewDelegate alloc] init]];
}
しかし、それはコンパイルし、実行し、私はスクロール可能なビューをスクロールしようとすると、それはEXC_BAD_ACCESSとデバッグコンソールで不可解「(lldb)」というメッセージでクラッシュしながら。
私はここで何をすべきか分かりません。
ありがとうございました!私はこれを試してみましょう... –
私はcontentSize全体のUIScrollViewオブジェクトのビューの境界(少なくとも垂直に - 水平に私はサイズが同じだと思う)よりも大きく設定しました。 –
驚くばかり!これは動作します!ちょうど2つのコメント: –