溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS中tableView cell分割線的設置技巧有哪些

發(fā)布時間:2021-07-30 11:58:33 來源:億速云 閱讀:560 作者:小新 欄目:移動開發(fā)

這篇文章給大家分享的是有關iOS中tableView cell分割線的設置技巧有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、關于分割線的位置。

分割線的位置就是指分割線相對于tableViewCell.如果我們要根據要求調節(jié)其位置,那么在iOS7.0版本以后,提供了一個方法如下:

if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
  
  [self.tableView setSeparatorInset:UIEdgeInsetsMake(0, 45, 0, 0)];
  
 }

UIEdgeInsets 的四個參數分別是相對于cell的上、左、下、右的距離,都是CGFloat型。

二、分割線的顏色及風格:

a、cell的分割線的顏色不是cell的屬性,它屬于tableView的separatorColor屬性。這樣我們只需要設置屬性值就可以得到所有我們想要的顏色的分割線、

[self.tableView setSeparatorColor:[UIColor clearColor]];

b、cell的風格:它是tableView 的separatorStyle屬性,系統給我們提供了三種風格在枚舉UITableViewCellSeparatorStyle中定義,分別是

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

默認的是UITableViewCellSeparatorStyleSingleLine.

三、tableViewCell 分割線自定義

首先要把cell自帶的分割線給去掉,使用如下兩種都行,一是把顏色設置為clearColor,二是風格設置為UITableViewCellSeparatorStyleNone。

自定義cell分割線大致用到的兩種方法

a、把自定義的分割線當成一個View放到cell的contentView上,一定要注意重用問題,所以這個view 要在cell初始化的時候添加上。示例代碼如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
 UITableViewCell *cell = nil;
 cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
 if (cell == nil) {
  cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
  cell.accessoryView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"huicellacce"]];
  cell.backgroundColor = [UIColor clearColor];
//  cell.selected = YES;
  UIImageView *imageViewSepE = [[UIImageView alloc]initWithFrame:CGRectMake(47, 49, 200, 1)];
  imageViewSepE.image = [UIImage imageNamed:@"godline"];
  [cell.contentView addSubview:imageViewSepE];

 }
}

b、比較復雜,用到了底層的框架,

- (void)drawRect:(CGRect)rect { 
CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); CGContextFillRect(context, rect); 

CGContextSetStrokeColorWithColor(context, [UIColorcolorWithHexString:@"ffffff"].CGColor);
 CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1)); //下分割線 
CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"e2e2e2"].CGColor); 
CGContextStrokeRect(context, CGRectMake(5, rect.size.height, rect.size.width - 10, 1));
 }

感謝各位的閱讀!關于“iOS中tableView cell分割線的設置技巧有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI