自定义代理

来源:互联网 发布:中国程序员大神 编辑:程序博客网 时间:2024/06/05 05:20

@classDelegateView;

@protocol DelegateViewDelegate <NSObject>

//处理触摸开始是的响应事件

- (void)handleTouchBegan:(DelegateView *)aView;

@optional//可选实现


//处理触摸结束时的响应事件

- (void)handleTouchEnded:(DelegateView *)aaView;

//处理触摸移动时的响应事件

- (void)handleTouchesMove:(DelegateView *)aaaView;


@end

@interface DelegateView :UIView



.m里面实现

//定义代理属性delegate,他需要遵守上面自定义的协议

@property (nonatomic,assign)id<DelegateViewDelegate>delegate;


-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

   //判断代理是否实现了协议中的某个方法


   if ([_delegaterespondsToSelector:@selector(handleTouchBegan:)]) {

        [_delegatehandleTouchBegan:self];

    }

}


0 0
原创粉丝点击