你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中 UITableViewCell cell劃線

iOS中 UITableViewCell cell劃線

編輯:IOS開發綜合

在開發中經常遇到cell分割線顯示不全或者想自定義線的寬高等; 最近總結了一下,希望幫到大家:

1.不想劃線怎麼辦?

TableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; // 設置系統默認線的樣式
-(void)viewDidLayoutSubviews {

    if ([TableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [TableView setSeparatorInset:UIEdgeInsetsZero];

    }
    if ([TableView respondsToSelector:@selector(setLayoutMargins:)])  {
        [TableView setLayoutMargins:UIEdgeInsetsZero];
    }

}

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

2.想劃線設置怎麼辦?
 TableView.separatorStyle = UITableViewCellSeparatorStyleNone;  // 丟掉系統的線,畫自定義的線
#define SINGLE_LINE_HEIGHT  (1/[UIScreen mainScreen].scale)  // 線的高度
#define  COLOR_LINE_GRAY [UIColor colorWithRed:224/255.0f green:224/255.0f blue:224/255.0f alpha:1]  //分割線顏色 #e0e0e0
在自定義cell裡寫入:
- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
    CGContextFillRect(context, rect);
    //下分割線
    CGContextSetStrokeColorWithColor(context, COLOR_LINE_GRAY.CGColor); //  COLOR_LINE_GRAY 為線的顏色
    CGContextStrokeRect(context, CGRectMake(0, rect.size.height, rect.size.width, SINGLE_LINE_HEIGHT)); //SINGLE_LINE_HEIGHT 為線的高度
}
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved