如何實現(xiàn)微信列表(tableView)分割線效果

2017年1月5日
一.如何實現(xiàn)微信列表(tableView)分割線效果:除最后一個cell的分割線不偏移,其它cell分割線都偏移15
(默認分割線和自定義分割線,原理其實類似。本例由于用的是點三方庫文件,所以是默認分割線)<我們一貫保留不到萬不得已不修改第三方庫代碼的原則>)

效果如下:

Paste_Image.png

法1(推薦):直接在tableview將要顯示的接口(不建議在畫cell的接口地方修改,可能會有多種cell類型判斷)

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (indexPath.row == [self.recentSessions count] - 1) {
        //如果是最后一個,不偏移
        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsZero];
        }
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
            [cell setSeparatorInset:UIEdgeInsetsZero];
        }
    }else{
        //其他  還原(其實ios8 默認會有15的分割線)
        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsMake(0, 15, 0, 0)];
        }
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
            [cell setSeparatorInset:UIEdgeInsetsMake(0, 15, 0, 0)];
        }
    }

}

法2:通過移除最后一個cell的分割線,添加底部視圖實現(xiàn)?!咀远x分割線的cell可以用如下方法(系統(tǒng)默認的還沒試成功)】

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return 0.5;
}

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
    UIView *bgv = [[UIView alloc]initWithFrame:CGRectMake(0, 0, HHBWIDTH, 0.5)];
    bgv.backgroundColor = [UIColor lightGrayColor];

    return bgv;
}

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (indexPath.row == [self.recentSessions count] - 1) {
        //如果是最后一個,
        //自定義cell隱藏分割線
        [self hideSeparator];

    }else{
        //其他  還原(其實ios8 默認會有15的分割線,)http://stackoverflow.com/questions/25770119/ios-8-uitableview-separator-inset-0-not-working
       [self resetSeparator];
    }

}

- (void)hideSeparator
{}
- (void)resetSeparator
{}

如果您發(fā)現(xiàn)本文對你有所幫助,如果您認為其他人也可能受益,請把它分享出去。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,685評論 1 32
  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內(nèi)容...
    i得深刻方得S閱讀 4,987評論 1 9
  • 覺得自己一直是個逃兵,尤其在感情上!如果發(fā)生變故,自己都想下意識的躲開!躲開傷害和爭吵,還有無理取鬧。自己也是個自...
    花樣兒閱讀 181評論 0 0
  • 思考是極費腦子的活,除非是天才的思想家。思考對于他們來說猶如家常便飯。 可對于常人來說,寧可在體力上多付出,也不愿...
    望風俠閱讀 843評論 6 5
  • 粳米粉:280克 紅糖:30克 細砂糖:70克 食用堿:5克 熱水:380克,根據(jù)情況以上之后還要再增加 1. 熱...
    F怡然自得閱讀 1,518評論 0 0

友情鏈接更多精彩內(nèi)容