我有一个带标题的UITableView.我目前的问题是标题不会与表滚动.当用户滚动表视图时,我需要滚动屏幕(上图).桌面滚动,但标题被锁定在UIView的顶部.
谢谢
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *sectionHeader = [[UILabel alloc] initWithFrame:CGRectNull]; sectionHeader.backgroundColor = [UIColor whiteColor]; // add user profile image to _contentView UIImageView *userImageView; UIImage *userImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:userProfileImageUrl]]]; userImageView=[[UIImageView alloc]initWithImage:userImage]; userImageView.frame=CGRectMake(10,10,90,100); [sectionHeader addSubview:userImageView]; // return userImageView; // user name lable CGRect userNameFrame = CGRectMake(110,60,100,50 ); UILabel* userNameLabel = [[UILabel alloc] initWithFrame: userNameFrame]; [userNameLabel setText: firstName]; [userNameLabel setTextColor: [UIColor blackColor]]; [userNameLabel setBackgroundColor:[UIColor clearColor]]; [userNameLabel setFont:[UIFont fontWithName:@"DIN-Regular" size:14]]; [sectionHeader addSubview:userNameLabel]; // user last name label CGRect userLastNameFrame = CGRectMake(110,75,50 ); UILabel* userLastNameLabel = [[UILabel alloc] initWithFrame: userLastNameFrame]; [userLastNameLabel setText: lastName]; [userLastNameLabel setTextColor: [UIColor blackColor]]; [userLastNameLabel setBackgroundColor:[UIColor clearColor]]; [userLastNameLabel setFont:[UIFont fontWithName:@"DIN-Regular" size:14]]; [sectionHeader addSubview:userLastNameLabel]; // user checkin view UIView *userCheckinView = [[UIView alloc] initWithFrame:CGRectMake(10,120,280,25)]; userCheckinView.backgroundColor = customColorGrey; [sectionHeader addSubview:userCheckinView]; // check in label UILabel* userCheckInLabel = [[UILabel alloc] initWithFrame:CGRectMake(40,2,20)]; [userCheckInLabel setText: @"CHECK-IN"]; userCheckInLabel.backgroundColor = customColorGrey; userCheckInLabel.textColor = customColorIt; [userCheckInLabel setFont:[UIFont fontWithName:@"DIN-Regular" size:12]]; [userCheckinView addSubview:userCheckInLabel]; // image UIImageView *checkinImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"classifica_geotag_C.png"]]; checkinImg.frame = CGRectMake(5,24,24); [userCheckinView addSubview:checkinImg]; // check in label UILabel* userCheckInCountLabel = [[UILabel alloc] initWithFrame:CGRectMake(250,20,20)]; [userCheckInCountLabel setText: [checkinCount stringValue]]; userCheckInCountLabel.backgroundColor = customColorGrey; userCheckInCountLabel.textColor = customColorIt; [userCheckInCountLabel setFont:[UIFont fontWithName:@"DIN-Regular" size:12]]; [userCheckinView addSubview:userCheckInCountLabel]; // user like view UIView *userLikeView = [[UIView alloc] initWithFrame:CGRectMake(10,150,25)]; userLikeView.backgroundColor = customColorGrey; [sectionHeader addSubview:userLikeView]; // like label UILabel* userLikeLabel = [[UILabel alloc] initWithFrame:CGRectMake(40,20)]; [userLikeLabel setText: @"LIKE"]; userLikeLabel.backgroundColor = customColorGrey; userLikeLabel.textColor = customColorIt; [userLikeLabel setFont:[UIFont fontWithName:@"DIN-Regular" size:12]]; [userLikeView addSubview:userLikeLabel]; // image UIImageView *likeImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"classifica_like_C.png"]]; likeImg.frame = CGRectMake(5,24); [userLikeView addSubview:likeImg]; // user like label UILabel* userLikeCountLabel = [[UILabel alloc] initWithFrame:CGRectMake(250,20)]; [userLikeCountLabel setText: [likesCount stringValue]]; userLikeCountLabel.backgroundColor = customColorGrey; userLikeCountLabel.textColor = customColorIt; [userLikeCountLabel setFont:[UIFont fontWithName:@"DIN-Regular" size:12]]; [userLikeView addSubview:userLikeCountLabel]; // la mia bacheca like view userLaMiaView = [[UIView alloc] initWithFrame:CGRectMake(10,180,300,25)]; userLaMiaView.backgroundColor = [UIColor clearColor]; [sectionHeader addSubview:userLaMiaView]; // like label UILabel* userLaMiaLabel = [[UILabel alloc] initWithFrame:CGRectMake(5,20)]; [userLaMiaLabel setText:NSLocalizedString(@"LA MIA BACHECA",nil)]; userLaMiaLabel.backgroundColor = [UIColor clearColor]; userLaMiaLabel.textColor = customColorGrey; [userLaMiaLabel setFont:[UIFont fontWithName:@"DIN-Bold" size:10]]; [userLaMiaView addSubview:userLaMiaLabel]; // grey line view below la mia label userGreyLineView = [[UIView alloc] initWithFrame:CGRectMake(10,248,1.5)]; userGreyLineView.backgroundColor = [UIColor whiteColor]; [sectionHeader addSubview:userGreyLineView]; return sectionHeader; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 210; }
解决方法
@H_301_9@ 尝试在返回之前添加这一行sectionHeader:self.tableView.tableHeaderView = sectionHeader;