在ios8之後,uitableview的分割線距離左邊會有一段距離;我們這裡就讓這段距離消失。
首先在ios7裡面讓分割線左對齊只要一句**就好了:
[self.tableview setseparatorinset:uiedgeinsetszero];
但是在ios8之後這樣只能縮排1/2左右,還是不能完全左對齊。下面我就不多說了直接上**吧!
#pragma 《設定cell分割線》
// 讓分割線左對齊
-(void)viewwilllayoutsubviews
if ([self.tableview respondstoselector:@selector(setlayoutmargins:)])
}-(void)tableview:(uitableview *)tableview willdisplaycell:(uitableviewcell *)cell forrowatindexpath:(nsindexpath *)indexpath
if ([cell respondstoselector:@selector(setlayoutmargins:)])
}
如何用的純**編寫的可能會不能實現,那怎麼辦啊??別急,看下面:- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
// cell顏色
cell.backgroundcolor = [uicolor colorwithred:0.194 green:0.8828 blue:1.0 alpha:1.0];
cell.textlabel.text = [nsstring stringwithformat:@"%@==%zd",[self class],indexpath.row];
[self.tableview setlayoutmargins:uiedgeinsetszero];
[self.tableview setseparatorinset:uiedgeinsetszero];
[cell setseparatorinset:uiedgeinsetszero];
[cell setlayoutmargins:uiedgeinsetszero];
return cell;
}
這樣子的話,分割線就左對齊了;
順便分享點小技巧
當我們要顯示固定的cell的行數又想下面的cell的分割線隱藏怎麼辦??當然可以自定義了,這裡有個小技巧:直接設定footview就好了:
// 隱藏所以分割線
= uitableviewcellseparatorstylenone;
// 隱藏不需要的分割線
self
.tableview
.tablefooterview = [[uiview alloc]init];
還一點問題就是:
ios8之後模擬器上面cell的分割線要拖動才能若隱若現看見,不拖動是不能看見的。這個原因是這樣子的。因為5s,6,6s都到@x2 的螢幕由(2x2)4個畫素點構成;而plus是(3x3)9個畫素點構成;而在模擬器上只顯示乙個畫素點;這麼就解釋了為什麼若隱若現了。但是在真機上不會有問題的,只是在模擬器上存在這個問題而已。
補全cell分割線
if cell respondstoselector selector setseparatorinset if cell respondstoselector selector setpreservessuperviewlayoutmargins if cell respondstoselecto...
iOS開發系列 cell分割線置頂
廢話不多說,直接上 tableviewcell分割線左側置頂 1 void viewdidlayoutsubviews if tableview respondstoselector selector setlayoutmargins tableviewcell分割線左側置頂 2 void tabl...
listview的分割線
listview中每個item項之間都有分割線,設定android footerdividersenabled表示是否顯示分割線,此屬性預設為true。1.不顯示分割線只要在listview控制項中新增android footerdividersenabled false 即可。html view ...