zoukankan      html  css  js  c++  java
  • tableview分割线

    默认分割线,左边不到屏幕;

    TableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

    三种结构体样式: 
    /** 
    UITableViewCellSeparatorStyleNone, 没有分割线 
    UITableViewCellSeparatorStyleSingleLine, 单线(默认) (左边不到屏幕)
    UITableViewCellSeparatorStyleSingleLineEtched 内嵌线 (左边到屏幕)
    */


    分割线从边界开始方法一:
    - (void)viewDidLoad {
        [super viewDidLoad];
       ...
       ...
       ...
    #pragma mark - a 调整view边距
        // 1.调整(iOS7以上)表格分隔线边距
        if ([self.MyTableView respondsToSelector:@selector(setSeparatorInset:)]) {
            self.MyTableView.separatorInset = UIEdgeInsetsZero;
        }
        // 2.调整(iOS8以上)view边距(或者在cell中设置preservesSuperviewLayoutMargins,二者等效)
        if ([self.MyTableView respondsToSelector:@selector(setLayoutMargins:)]) {
            self.MyTableView.layoutMargins = UIEdgeInsetsZero;
        }
    
    }
    
    #pragma mark - b 调整view边距
    //然后在willDisplayCell方法中加入如下代码:
    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    #pragma mark - b
        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsZero];
        }
    }

    方法二:

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    ...
    ...
    ...
    #pragma mark - a 调整view边距
        //1.调整(iOS8以上)tableView边距(与上面第2步等效,二选一即可)
        if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
            cell.preservesSuperviewLayoutMargins = NO;
        }
        //2.调整(iOS8以上)view边距
        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsZero];
        }
        return cell;
    }
    
    #pragma mark - b 调整view边距
    //然后在willDisplayCell方法中加入如下代码:
    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    #pragma mark - b
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
            [cell setSeparatorInset:UIEdgeInsetsZero];
        }
    }

    方法三:

    系统自带的cell的分割线,满足我们大部分的需求,但在有些情况下,我们需要使用样式二中得cell的分割线样式。 
    同时,我们也可以自定义cell的分割线。通过1个像素宽的图片或者view添加到cell中; 
    或者设置背景图片为灰色,同时设置cell之间的间距为1个像素即可实现;

     
  • 相关阅读:
    JavaScript 为字符串添加样式 【每日一段代码80】
    JavaScript replace()方法 【每日一段代码83】
    JavaScript for in 遍历数组 【每日一段代码89】
    JavaScript 创建用于对象的模板【每日一段代码78】
    html5 css3 新元素简单页面布局
    JavaScript Array() 数组 【每日一段代码88】
    JavaScript toUTCString() 方法 【每日一段代码86】
    位运算
    POJ 3259 Wormholes
    POJ 3169 Layout
  • 原文地址:https://www.cnblogs.com/OIMM/p/8989299.html
Copyright © 2011-2022 走看看