我找到了一些可以完全解决我的问题的答案,但似乎我错过了一些步骤。我只是想拦截 ScrollView 的“ViewDidBlablabla”事件,所以我创建了一个自定义 UIScrollView 类。
MyScrollView.m
#import "MyScrollView.h"
@implementation MyScrollView
- (id)initWithFrame:(CGRect)frame{
NSLog(@"initWithFrame");
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
-(void)scrollViewWillBeginDragging:(UIScrollView*)scrollView{
NSLog(@"scrollViewWillBeginDragging");
//scrollView.contentOffset
}
-(void)scrollViewDidScroll:(UIScrollView*)scrollView{
NSLog(@"scrollViewDidScroll");
}
-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
NSLog(@"scrollViewDidEndScrollingAnimation");
}
@end
MyScrollView.h
#import <UIKit/UIKit.h>
@interface MyScrollView : UIScrollView <UIScrollViewDelegate>
@end
当我分配我的自定义滚动视图时,我确实收到了控制台消息“initWithFrame”,但无法访问其他事件。我错过了什么?
如果您需要其他一些代码,请随时询问,但由于我使用了自定义的“initWithFrame”方法,我想错误应该在这里。