我找到了一些问题和答案来删除ios7中UITableView的偏移量,即这里的这个问题。如何在iOS 7上修复UITableView分隔符?
我想知道是否有人遇到过删除插图边距的正确功能。类似于 objective-c 中的这个答案
if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[tableView setSeparatorInset:UIEdgeInsetsZero];
}
您可以只设置属性:tableView.separatorInset=UIEdgeInsetsZero
就像 Objective-C 的例子一样,但转换为 swift。我自己也遇到了一些麻烦。此代码在 UITableView 中工作,如果您在 UITableViewController 中执行此操作,请将 self.tableView 替换为 self:
// iOS 7
if(self.respondsToSelector(Selector("setSeparatorInset:"))){
self.separatorInset = UIEdgeInsetsZero
}
// iOS 8
if(self.respondsToSelector(Selector("setLayoutMargins:"))){
self.layoutMargins = UIEdgeInsetsZero;
}
对于单元格(仅限iOS 8),将以下代码放入以下函数中:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
获取单元格,并设置以下属性:
// iOS 8
if(cell.respondsToSelector(Selector("setLayoutMargins:"))){
cell.layoutMargins = UIEdgeInsetsZero;
}
将以下行放入viewDidLoad()
tableView.layoutMargins = UIEdgeInsetsZero
tableView.separatorInset = UIEdgeInsetsZero
现在查找您的ellForRowAtIndexPath
方法并添加以下内容:
cell.layoutMargins = UIEdgeInsetsZero
如今”。零”语法...
tableView.layoutMargins = UIEdgeInsets.zero
tableView.separatorInset = UIEdgeInsets.zero
cell.layoutMargins = UIEdgeInsets.zero