【问题标题】:iOS 8 setting setSeparatorInset to ZeroiOS 8 设置 setSeparatorInset 为零
【发布时间】:2014-08-04 21:47:33
【问题描述】:

我正在尝试将 TableView Cell inset 设置为 UIEdgeInsetsZero,但它对我的表格视图的影响为零。

我在使用新的 iOS 8 Beta 时遇到了这个问题。 Beta 5 似乎也有这个问题。这是一个合法的问题,还是我做错了什么?

 self.tableView.separatorInset = UIEdgeInsetsZero

【问题讨论】:

    标签: uitableview swift ios8 xcode6


    【解决方案1】:

    这似乎是 iOS8 测试版中的一个问题:

    解决方法:
    将单元格和 UITableView 的 layoutMargins 属性设置为 UIEdgeInsetsZero。

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
        [...]
    
        cell.layoutMargins = UIEdgeInsetsZero;
    
        return cell;
    }
    
    - (void) viewDidLayoutSubviews {
    
        [super viewDidLayoutSubviews];
    
        [...]
    
        self.myTableView.layoutMargins = UIEdgeInsetsZero;
    }
    

    【讨论】:

    • 使用 xcode6 beta6 在 iOS7 中遇到同样的问题,这并不能解决问题。
    • layoutMargins 仅在 ios8 中可用
    • 如果想同时支持 iO7 和 iOS8,则在 layoutMargins 调用前加上 if([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) { self.myTableView.layoutMargins = UIEdgeInsetsZero; }
    • 如果您只想为特定单元格而不是整个 tableView 设置边缘插图,这将无法正常工作。还有办法实现吗?
    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 2016-04-07
    • 2019-08-22
    • 2016-01-25
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多