0

我正在创建一个 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

谢谢帮忙!!

如果您需要更多信息,请发表评论!!

4

1 回答 1

0

好吧,您可以简单地在 init 中声明

self.delegate = self; // to have your custom scroll view as its own delegate

并将您正在实施的新协议的自定义委托重命名为 CustomDelegate 以避免出现问题

那么您必须覆盖滚动视图调用的每个方法,并在每个方法中添加类似

[customDelegate ovveriddenScrollviewDelegateMethod];

你在你的类中实现的将是customDelgate,

<UIScrollViewDelegate, CustomScrollViewDelegate>

并实施一切。

于 2012-05-27T13:13:45.660 回答