解決部分cell設(shè)置AccessoryType,子視圖適配問(wèn)題,主要原因的contentView的寬度(width)大小的改變
如圖,對(duì)勾imageView對(duì)不齊問(wèn)題
屏幕快照 2017-01-13 下午3.08.54.png
1.創(chuàng)建自定義cell
1.自定義的Cell包含一個(gè)label和imageView
- label和imageView居中對(duì)齊
- label.Leading = 15 (距左15)
- imageView.CenterX = SuperView.Trailing * 0.9
2.設(shè)置AccessoryType
奇數(shù)行設(shè)置為UITableViewCellAccessoryDisclosureIndicator
偶數(shù)行設(shè)置為UITableViewCellAccessoryNone
tableView.png
2.設(shè)置AccessoryView
奇數(shù)行設(shè)置AccessoryType,偶數(shù)行設(shè)置AccessoryView
if (indexPath.row & 1) {
self.accessoryView = nil;
self.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}else {
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 18, 40)];
self.accessoryView = view;
}
tableView2.png
- 1.設(shè)置AccessoryView后AccessoryType將不起作用
因?yàn)镃ell重用,所以設(shè)置AccessoryType之前需要將AccessoryView設(shè)置為nil- 2.不同類型的accessoryType對(duì)應(yīng)的view的寬度不同UITableViewCellAccessoryDisclosureIndicator -> view.width = 18
UITableViewCellAccessoryDetailDisclosureButton -> view.width = 52
UITableViewCellAccessoryCheckmark -> view.width = 24
UITableViewCellAccessoryDetailButton -> view.width = 32