diff --git a/YuMi/Modules/YMMine/View/Medals/MedalsRankViewController.m b/YuMi/Modules/YMMine/View/Medals/MedalsRankViewController.m index bee53753..3b69237b 100644 --- a/YuMi/Modules/YMMine/View/Medals/MedalsRankViewController.m +++ b/YuMi/Modules/YMMine/View/Medals/MedalsRankViewController.m @@ -53,6 +53,8 @@ self.backgroundColor = [UIColor clearColor]; self.contentView.backgroundColor = [UIColor clearColor]; + self.selectionStyle = UITableViewCellSelectionStyleNone; + self.indexLabel = [UILabel labelInitWithText:@"" font:kFontMedium(14) textColor:[UIColor whiteColor]]; [self.contentView addSubview:self.indexLabel]; [self.indexLabel mas_makeConstraints:^(MASConstraintMaker *make) { @@ -119,6 +121,7 @@ @property (nonatomic, assign) NSInteger topLevel; @property (nonatomic, strong) MedalsRankUserModel *userModel; +@property (nonatomic, copy) void (^onTapBlock)(MedalsRankUserModel *userModel); @end @@ -182,10 +185,21 @@ honorLabel.hidden = YES; honorImageView.hidden = YES; + + // 添加点击手势 + UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapTopView)]; + [self addGestureRecognizer:tapGesture]; + self.userInteractionEnabled = YES; } return self; } +- (void)didTapTopView { + if (self.onTapBlock && self.userModel) { + self.onTapBlock(self.userModel); + } +} + - (void)setTopLevel:(NSInteger)topLevel { _topLevel = topLevel; NSString *imagePath = @""; @@ -298,6 +312,18 @@ self.topTwo = [self rankTopView:2]; self.topThree = [self rankTopView:3]; + // 设置点击回调 + __weak typeof(self) weakSelf = self; + self.topOne.onTapBlock = ^(MedalsRankUserModel *userModel) { + [weakSelf handleTopViewTap:userModel]; + }; + self.topTwo.onTapBlock = ^(MedalsRankUserModel *userModel) { + [weakSelf handleTopViewTap:userModel]; + }; + self.topThree.onTapBlock = ^(MedalsRankUserModel *userModel) { + [weakSelf handleTopViewTap:userModel]; + }; + [self.view addSubview:self.topOne]; [self.view addSubview:self.topTwo]; [self.view addSubview:self.topThree]; @@ -436,7 +462,14 @@ } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + // 取消选中高亮效果 + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + MedalsRankUserModel *model = [self.rankList xpSafeObjectAtIndex:indexPath.row]; + [self handleTopViewTap:model]; +} + +- (void)handleTopViewTap:(MedalsRankUserModel *)model { if (model) { UserInfoModel *userInfo = [[UserInfoModel alloc] init]; userInfo.uid = model.uid;