案例:给tableView的分组视图的点击事件做协议代理
1、先声明协议和方法
@protocol JWTableVIewSectionHeaderDelegate <NSObject>
- (void)didSelectHeaderWithTitle:(NSString *)title;
@end
2、设置协议代理
@interface JWSectionHeaderView : UITableViewHeaderFooterView
/** 代理 */
@property (nonatomic, weak) id<JWTableVIewSectionHeaderDelegate> delegate;
@end
3、视图点击事件
- (void)didSelect:(UIControl *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(didSelectHeaderWithTitle:)]) {
[self.delegate didSelectHeaderWithTitle:_title];
}
}
4、遵循协议
@interface JWTableViewController () <JWTableVIewSectionHeaderDelegate>
@end
5、设置代理
#pragma mark <UITableViewDelegate>
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
JWSectionHeaderView *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@"header"];
if (!header) {
header = [[JWSectionHeaderView alloc] initWithReuseIdentifier:@"header"];
header.delegate = self; // 设置代理
}
return header;
}
6、实现协议方法
- (void)didSelectHeaderWithTitle:(NSString *)title {
}
网友评论