iOS中tableView cell分割線的一些設(shè)置技巧
前言
對(duì)于iOS的tableView的cell的分割線,一般我們很少使用不是系統(tǒng)默認(rèn)的,但是有些項(xiàng)目要求還是要求我們?nèi)ジ淖兎指罹€的顏色或者外形以配合整個(gè)項(xiàng)目的色調(diào)。這個(gè)蘋果公司早都為我們想到了。
一、關(guān)于分割線的位置。
分割線的位置就是指分割線相對(duì)于tableViewCell.如果我們要根據(jù)要求調(diào)節(jié)其位置,那么在iOS7.0版本以后,提供了一個(gè)方法如下:
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsMake(0, 45, 0, 0)]; }
UIEdgeInsets 的四個(gè)參數(shù)分別是相對(duì)于cell的上、左、下、右的距離,都是CGFloat型。
二、分割線的顏色及風(fēng)格:
a、cell的分割線的顏色不是cell的屬性,它屬于tableView的separatorColor屬性。這樣我們只需要設(shè)置屬性值就可以得到所有我們想要的顏色的分割線、
[self.tableView setSeparatorColor:[UIColor clearColor]];
b、cell的風(fēng)格:它是tableView 的separatorStyle屬性,系統(tǒng)給我們提供了三種風(fēng)格在枚舉UITableViewCellSeparatorStyle中定義,分別是
typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) { UITableViewCellSeparatorStyleNone, UITableViewCellSeparatorStyleSingleLine, UITableViewCellSeparatorStyleSingleLineEtched // This separator style is only supported for grouped style table views currently };
默認(rèn)的是UITableViewCellSeparatorStyleSingleLine.
三、tableViewCell 分割線自定義
首先要把cell自帶的分割線給去掉,使用如下兩種都行,一是把顏色設(shè)置為clearColor,二是風(fēng)格設(shè)置為UITableViewCellSeparatorStyleNone。
自定義cell分割線大致用到的兩種方法
a、把自定義的分割線當(dāng)成一個(gè)View放到cell的contentView上,一定要注意重用問(wèn)題,所以這個(gè)view 要在cell初始化的時(shí)候添加上。示例代碼如下:
- (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、比較復(fù)雜,用到了底層的框架,
- (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)); }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
iOS 水波紋動(dòng)畫的實(shí)現(xiàn)效果
本篇文章主要介紹了iOS 水波紋的實(shí)現(xiàn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01使用UITextField限制只可輸入中,英文,數(shù)字的方法
在我們?nèi)粘i_(kāi)發(fā)中經(jīng)常遇到一些情況,要UITextField只能輸入某一種特定的字符.比如大寫A-Z或者小寫a-z,或者漢字.或者數(shù)字.那么該如何實(shí)現(xiàn)呢,下面通過(guò)這篇文章來(lái)看看吧。2016-09-09iOS UIBezierPath實(shí)現(xiàn)餅狀圖
這篇文章主要為大家詳細(xì)介紹了iOS UIBezierPath實(shí)現(xiàn)餅狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03iOS開(kāi)發(fā)中AVPlayer的簡(jiǎn)單應(yīng)用
這篇文章主要介紹了iOS開(kāi)發(fā)中AVPlayer的簡(jiǎn)單應(yīng)用,文中給出了簡(jiǎn)單的介紹和示例代碼,相信對(duì)大家學(xué)習(xí)AVPlayer的應(yīng)用具有一定的參考價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)。2017-02-02iOS 對(duì)NSMutableArray進(jìn)行排序和過(guò)濾的實(shí)例
下面小編就為大家分享一篇iOS 對(duì)NSMutableArray進(jìn)行排序和過(guò)濾的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01iOS中searchBar(搜索框)光標(biāo)初始位置后移
這篇文章主要介紹了iOS中searchBar(搜索框)光標(biāo)初始位置后移的關(guān)鍵代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08iOS開(kāi)發(fā)狀態(tài)欄及設(shè)置功能全面詳解
這篇文章主要為大家介紹了iOS開(kāi)發(fā)狀態(tài)欄及設(shè)置功能全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06