美文网首页iOS 开发
tableViewCell分割线的相关设置

tableViewCell分割线的相关设置

作者: windyfat | 来源:发表于2016-06-08 13:46 被阅读174次

      去掉多余的cell分割线,自定义一个tableFooterView就好:

    [m_tableView setTableFooterView:[[UIView alloc]initWithFrame:CGRectZero]];
    CGRectZero 是说明frame为:(0,0,0,0)
    

    cell分割线样式

    tableView.separatorStyle

    separatorStyle的值是一个枚举值,具体如下:

    typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) {
        UITableViewCellSeparatorStyleNone,
        UITableViewCellSeparatorStyleSingleLine,
        UITableViewCellSeparatorStyleSingleLineEtched   // This separator style is only supported for grouped style table views currently
    }
    

      如果不设置separatorStyle的话,默认是UITableViewCellSeparatorStyleSingleLine。也就是寻常tableView的cell样式。UITableViewCellSeparatorStyleNone是说明不显示cell分割线。UITableViewCellSeparatorStyleSingleLineEtched仅仅适用于Grouped样式的tableView。

    cell分割线的颜色

    tableView.separatorColor(默认是灰色的)

    cell分割线左对齐:

      首先在viewDidLoad里面添加如下代码:

    if ([self.m_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
            [self.m_tableView setSeparatorInset: UIEdgeInsetsZero];
        }
        if ([self.m_tableView respondsToSelector:@selector(setLayoutMargins:)]) {
            [self.m_tableView setLayoutMargins: UIEdgeInsetsZero];
        }
    

      然后实现tableView的代理方法:

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
    {
        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsZero];
        }
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
            [cell setSeparatorInset:UIEdgeInsetsZero];
        }
    }
    

    相关文章

      网友评论

        本文标题:tableViewCell分割线的相关设置

        本文链接:https://www.haomeiwen.com/subject/fxkjdttx.html