IOS 7 viewForHeaderInSection 的section從1開始而不是從0開始


【問題】

  (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 方法中的section貌似從1開始而不是從0



【思路】

程序中雖然設置了 self.tableView.sectionHeaderHeight  =20 

還還是是不行 viewForHeaderInSection 中的section始終還是從1開始。

於是我發現, 如果你使用方法:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

{

    return 40;

}

就從0開始啦。 

 

尼瑪真吭 IOS7的新特性,其實 self.tableView.sectionHeaderHeight  =20 這種效率遠遠比方法要快。如果不存在特殊需求大家還是直接設置屬性來吧。

 

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 40;
}

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 40)];
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, tableView.frame.size.width, 20)];
    label.font = [UIFont systemFontOfSize:16.0f];  //UILabel的字體大小
    label.numberOfLines = 0;  //必須定義這個屬性,否則UILabel不會換行
    label.textColor = CR_RGBCOLOR(170, 170, 170);
    label.textAlignment = NSTextAlignmentLeft;  //文本對齊方式
    [label setBackgroundColor:[UIColor clearColor]];
    label.text = self.sectionTitles[section];
    [headerView setBackgroundColor:[UIColor clearColor]];
    [headerView addSubview:label];
    return  headerView;
}

- (UIView *) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{

    return [[CRCustomFooter alloc] init];
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSUInteger section = indexPath.section;
    NSUInteger row = indexPath.row;
    
    if(section == 1){
        if (row == 0) {
            [self recommendToFriends];
            [tableView deselectRowAtIndexPath:indexPath animated:YES];
        }else if(row == 1){
            [self sendFeedback];
            [tableView deselectRowAtIndexPath:indexPath animated:YES];
        }else if(row == 2){
            [self rateApp];
            [tableView deselectRowAtIndexPath:indexPath animated:YES];
        }else{
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM