UITableViewCell有一根分割線消失問題(分割線是系統(tǒng)分割線)如圖:

Simulator Screen Shot - iPhone 6 - 2018-06-01 at 16.32.44.png
查找了好久,發(fā)現(xiàn)這個(gè)問題應(yīng)該是,模擬器的( Scale 如果不是100%的話有時(shí)候就會(huì)出現(xiàn)這問題) Bug 吧,在真機(jī)上是沒問題的,把模擬器的 Scale 設(shè)為100%應(yīng)該也能解決問題。
但是如果自定義cell的分割線,出現(xiàn)這個(gè)問題,是因?yàn)閕OS自定義的UITableCell自定義的分割線,在cell復(fù)用的時(shí)候,cell的分割線會(huì)消失。
//這樣的問題是,你把你的分割線自定義在每個(gè)cell上,當(dāng)cell服用的時(shí)候,只會(huì)讀取你的數(shù)據(jù)模型的數(shù)據(jù),但是你的分割線不會(huì)重新劃線,如:
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)reuseIdentifier {
self= [superinitWithStyle:stylereuseIdentifier:reuseIdentifier];
if(self) {
//你的cell復(fù)用分割線消失是因?yàn)?,你在這里添加的分割線
}
}
解決辦法:(在你的自定的cell中實(shí)現(xiàn)該方法,來添加分割線)
- (void)drawRect:(CGRect)rect {
CGContextRefcontext =UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColorclearColor].CGColor);
CGContextFillRect(context, rect);
//上分割線,
//CGContextSetStrokeColorWithColor(context, COLORWHITE.CGColor);
//CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1));
//下分割線
CGContextSetStrokeColorWithColor(context,COLORSEPLINE.CGColor);
CGContextStrokeRect(context,CGRectMake(0, rect.size.height-0.5, rect.size.width,1));
}