這篇文章給大家分享的是有關(guān)iOS中tableView cell分割線的設(shè)置技巧有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站服務(wù)項目包括思明網(wǎng)站建設(shè)、思明網(wǎng)站制作、思明網(wǎng)頁制作以及思明網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,思明網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到思明省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
一、關(guān)于分割線的位置。
分割線的位置就是指分割線相對于tableViewCell.如果我們要根據(jù)要求調(diào)節(jié)其位置,那么在iOS7.0版本以后,提供了一個方法如下:
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsMake(0, 45, 0, 0)]; }
UIEdgeInsets 的四個參數(shù)分別是相對于cell的上、左、下、右的距離,都是CGFloat型。
二、分割線的顏色及風格:
a、cell的分割線的顏色不是cell的屬性,它屬于tableView的separatorColor屬性。這樣我們只需要設(shè)置屬性值就可以得到所有我們想要的顏色的分割線、
[self.tableView setSeparatorColor:[UIColor clearColor]];
b、cell的風格:它是tableView 的separatorStyle屬性,系統(tǒng)給我們提供了三種風格在枚舉UITableViewCellSeparatorStyle中定義,分別是
typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) { UITableViewCellSeparatorStyleNone, UITableViewCellSeparatorStyleSingleLine, UITableViewCellSeparatorStyleSingleLineEtched // This separator style is only supported for grouped style table views currently };
默認的是UITableViewCellSeparatorStyleSingleLine.
三、tableViewCell 分割線自定義
首先要把cell自帶的分割線給去掉,使用如下兩種都行,一是把顏色設(shè)置為clearColor,二是風格設(shè)置為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)); }
感謝各位的閱讀!關(guān)于“iOS中tableView cell分割線的設(shè)置技巧有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!