【问题标题】:Programatically set LayoutMargins for UITableViewCell - iOS 7 alternative以编程方式为 UITableViewCell 设置 LayoutMargins - iOS 7 替代方案
【发布时间】:2015-03-29 17:08:14
【问题描述】:

如何在 iOS 7 中以编程方式设置边距(或内嵌,因为它们被称为 iOS)?

在 iOS 8 中,我使用以下方式设置边距:

cell.contentView.layoutMargins = UIEdgeInsets(
                    top: 0,
                    left: 6.5,
                    bottom: BOTTOM_MARGIN_FOR_CELLS,
                    right: 6.5)

但我希望应用保持与 iOS7 的向后兼容性。

我需要以编程方式设置边距,因为存在顶部单元格与其他单元格的边距不同的情况。

【问题讨论】:

    标签: uitableview ios7


    【解决方案1】:

    对于 iOS7 使用以下代码

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

    对于 iOS8 使用以下代码

    if ([myTableView respondsToSelector:@selector(layoutMargins)]) {
        myTableView.layoutMargins = UIEdgeInsetsZero;
    }
    

    注意:在您的 ViewController 中包含这两个代码以支持这两个版本

    【讨论】:

    • PO 说顶部单元格可能有不同的边距,而您的解决方案以相同的方式影响整个表格视图及其所有单元格(没有机会以特定方式配置顶部单元格)。
    猜你喜欢
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多