天天看点

代理协议实现响应事件(跳转)

自定view的. h文件
#import <UIKit/UIKit.h>
 
 @protocol searchTypeDelegate <NSObject>
- (void)typeBtn:(id)sender;//代理实现页面跳转
@end
 
@interface searhTypeView : UIView
@property(nonatomic,strong)UILabel *grayLabel;
@property (assign) id<searchTypeDelegate> delegate;//代理实现页面跳转
@end
 
自定义view的.m文件
  [self.typeBtn addTarget:self action:@selector(typeBtn:) forControlEvents:UIControlEventTouchUpInside];
//代理实现页面跳转
-(void)typeBtn:(UIButton*)sender{
    if (self.delegate && [self.delegate respondsToSelector:@selector(typeBtn:)]) {
        [self.delegate typeBtn:sender];
    }
}
 
 
控制器里面
//代理实现页面跳转协议
@interface searchViewController ()<searchTypeDelegate>
vididload中设置代理
 searchTypeView.delegate=self;
 
//代理实现页面跳转
- (void)typeBtn:(id)sender{
    NSLog(@"2这里就是响应时间"); 
}