我們?cè)趯憈ableView的時(shí)候經(jīng)常會(huì)遇到分割線問(wèn)題,系統(tǒng)默認(rèn)分割線總是左偏離15個(gè)像素挟阻。但是在實(shí)際項(xiàng)目中我們可能會(huì)讓分割線消失琼娘,或者居中,或者左偏100等等很多情況附鸽。那么在不自定義分割線的情況下怎么讓分割線達(dá)到自己的預(yù)期目的呢脱拼?其實(shí)很簡(jiǎn)單……
- (void)viewDidLayoutSubviews {
if ([my_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
my_tableView.separatorInset = cell_inset;
}
if ([my_tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[my_tableView setLayoutMargins: cell_inset];
}
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:cell_inset];
}
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:cell_inset];
}
if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
[cell setPreservesSuperviewLayoutMargins:NO];
}
}
my_tableView是UITableView對(duì)象
為了方便,我們可以把UIEdgeInsets宏定義坷备,或者定義一個(gè)靜態(tài)變量
#define kCELL_INSETS UIEdgeInsetsMake(0, 0, 0, 0)
或
static UIEdgeInsets cell_inset = {0,0,0,0};
這樣我們就可以很方便的修改偏移量了熄浓,結(jié)束!