• 清除UITableView底部多余的分割线


    转载:http://blog.csdn.net/l_ch_g/article/details/9290727

    第一种方法:设置uitableView的footerView

    1.在.m中加如下方法

    -(void)setExtraCellLineHidden: (UITableView *)tableView
    {
        UIView *view = [UIView new];
        view.backgroundColor = [UIColor clearColor];
        [tableView setTableFooterView:view];
        [view release];
    }
    

     2.调用

    - (void)viewDidLoad
    
    {
    
        [super viewDidLoad];
    
        //设置tableView不能滚动
    
        [self.tableView setScrollEnabled:NO];
    
        //在此处调用一下就可以啦 :此处假设tableView的name叫:tableView
    
        [self setExtraCellLineHidden:self.tableView];
    
    }
    
      在iOS4.3和iOS5.0中通过:值得注意的是在iOS4.3中可以直接设置footer为nil,但是在5.0不行,因为UITableView会默认生成一个Footer。(详见iOS Release Notes中的说明:Returning nil from the tableView:viewForHeaderInSection: method (or its footer equivalent) is no longer sufficient to hide a header. You must override tableView:heightForHeaderInSection: and return 0.0 to hide a header.)

    plain类型的tableview当显示的数据很少时,下面的cell即使不显示数据也会有分割线,可以通过下面这个函数去掉多余的分割线。

    - (void)setExtraCellLineHidden: (UITableView *)tableView
    {
        UIView *view =[ [UIView alloc]init];
        view.backgroundColor = [UIColor clearColor];
        [tableView setTableFooterView:view];
        [view release];
    }
    

    第二种,隐藏原来的在cell中自定义:

    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    
        // Drawing our own separatorLine here because I need to turn it off for the
        // last row. I can only do that on the tableView and on on specific cells.
        // The y position below has to be 1 less than the cell height to keep it from
        // disappearing when the tableView is scrolled.
        UIImageView *separatorLine = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, cell.frame.size.height - 1.0f, cell.frame.size.width, 1.0f)];
        separatorLine.image = [[UIImage imageNamed:@"grayDot"] stretchableImageWithLeftCapWidth:1 topCapHeight:0];
        separatorLine.tag = 4;
    
        [cell.contentView addSubview:separatorLine];
    
        [separatorLine release];
    }
    
    // Setup default cell setttings.
    ...
    UIImageView *separatorLine = (UIImageView *)[cell viewWithTag:4];
    separatorLine.hidden = NO;
    ...
    // In the cell I want to hide the line, I just hide it.
    seperatorLine.hidden = YES;
    ...
    

     设置tableview的样式为none

    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
    
  • 相关阅读:
    [ios] 响应上下左右滑动手势
    [ios]字符串转化成NSDate类型 计算与当前时间的相差 月数 天数 【转】
    [ios] NSSet,NSMutableSet[zhuan]
    [ios] 如何让xcode自动检查内存泄露 【转】
    iOS 使用Quartz 2D画虚线 【转】
    [ios]设置表格单元格交替背景 【转】
    [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
    [ios] 自定义UIAlertView样式,实现可替换背景和按钮 【转】
    [ios]上传应用程序到app store 【转】
    [ios] iOS中arc的设置与使用
  • 原文地址:https://www.cnblogs.com/duzj-1990/p/4462246.html
Copyright © 2020-2023  润新知