對於iOS 7 之後UITableViewCell左側預設15畫素的留白解決方法
阿新 • • 發佈:2019-02-08
開發筆記:
對於iOS 7 之後UITableViewCell左側預設15畫素的留白解決方法:
在ios7中,UITableViewCell左側會有預設15畫素的空白。這時候,設定setSeparatorInset:UIEdgeInsetsZero 能將空白去掉。
但是在ios8中,設定setSeparatorInset:UIEdgeInsetsZero 已經不起作用了。下面是解決辦法
首先在viewDidLoad方法加入以下程式碼:
if ([self.tableViewrespondsToSelector:@selector(setSeparatorInset:)]) { [self.tableViewsetSeparatorInset:UIEdgeInsetsZero]; } if ([self.tableViewrespondsToSelector:@selector(setLayoutMargins:)]) { [self.tableView setLayoutMargins:UIEdgeInsetsZero]; }
然後在UITableView的代理方法中加入以下程式碼
- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell *)cellforRowAtIndexPath:(NSIndexPath *)indexPath { if ([cellrespondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsZero]; } if ([cellrespondsToSelector:@selector(setLayoutMargins:)]) { [cellsetLayoutMargins:UIEdgeInsetsZero]; } }