【问题标题】:how to remove UITableView offset on the left in Swift如何在Swift中删除左侧的UITableView偏移
【发布时间】:2014-09-05 01:08:55
【问题描述】:

我找到了一些问题和答案来删除 ios7 中 UITableViews 的偏移量,即这里的这个 How to fix UITableView separator on iOS 7?

我想知道是否有人遇到过删除插入边距的正确功能。类似于objective-c中这个答案的东西

if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {
    [tableView setSeparatorInset:UIEdgeInsetsZero];
}

【问题讨论】:

标签: ios uitableview swift


【解决方案1】:

您可以通过控制台将“默认插图”修改为“自定义插图”来完成此操作

  1. 在表格视图单元格内单击滑块图标
  2. 在表格视图单元格下,转到分隔符显示“默认插入”的位置
  3. 点击下拉菜单并选择“自定义插图”
  4. 选择你的左右号码(我设置为 0 用于边到边分隔符)

Image showing default settings

Imgage showing custom settings

【讨论】:

    【解决方案2】:

    对于 Swift 3,只需键入:

    tableView.separatorInset = .zero
    

    【讨论】:

      【解决方案3】:

      将以下行放入viewDidLoad()

      tableView.layoutMargins = UIEdgeInsetsZero
      tableView.separatorInset = UIEdgeInsetsZero
      

      现在查找您的 cellForRowAtIndexPath 方法并添加:

      cell.layoutMargins = UIEdgeInsetsZero
      

      现在的“.zero”语法...

          tableView.layoutMargins = UIEdgeInsets.zero
          tableView.separatorInset = UIEdgeInsets.zero
      
          cell.layoutMargins = UIEdgeInsets.zero
      

      【讨论】:

        【解决方案4】:

        就像 Objective-C 的例子,但是转换成 swift。我自己也遇到了一些麻烦。如果您在 UITableViewController 中执行此代码,则此代码在 UITableView 中有效,您可以将 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;
        }
        

        【讨论】:

          【解决方案5】:

          你可以只设置属性:tableView.separatorInset = UIEdgeInsetsZero

          【讨论】:

          • 这篇文章被自动标记为低质量,因为它太短/只有代码。您介意通过添加一些文本来解释它是如何解决问题的吗?
          • 嘿,这通常适用于我拥有的表格视图,但我的表格视图仍然包含边框。可能是某些东西覆盖了我的设置
          猜你喜欢
          • 1970-01-01
          • 2011-08-30
          • 1970-01-01
          • 1970-01-01
          • 2011-06-09
          • 2020-05-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多