我正在创建一个UIScrollView子类。在这个子类上,我需要检测滚动事件,但我还想在代理上启用滚动事件的检测。此外,此UIScrollView子类还需要一个自定义委托。
// CustomScrollView.h
#import <UIKit/UIKit.h>
#import "CustomScrollViewDelegate.h"
@interface CustomScrollView : UIScrollView <UIScrollViewDelegate> {
...
}
@property (nonatomic, assign) id <DAGridViewDelegate> delegate;
...
@end
// CustomScrollView.m
#import "DAGridView.h"
@implementation DAGridView
@synthesize delegate;
- (id)init {
self = [super init];
if (self) {
...
}
return self;
}
...
@end
// CustomScrollViewDelegate.h
@class CustomScrollViewDelegate
@protocol CustomScrollViewDelegate <NSObject, CustomScrollViewDelegate>
...
@end
感谢您的帮助!!
如果您需要更多信息,请发表评论!!
答案 0 :(得分:0)
好吧,你可以简单地在init中说明
self.delegate = self; // to have your custom scroll view as its own delegate
并将您正在实现的新协议的自定义委托重命名为CustomDelegate以避免出现问题
然后你必须遍历滚动视图调用的每个方法,并在每个方法中添加类似
的内容[customDelegate ovveriddenScrollviewDelegateMethod];
您在班级中实施的是customDelgate,
<UIScrollViewDelegate, CustomScrollViewDelegate>
并实施一切。