更新 MedalsRankViewController.m,添加勋章排行视图的点击手势和回调处理,优化用户交互体验,保持代码结构一致性。
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user