【问题标题】:UITableView left and right paddingUITableView 左右内边距
【发布时间】:2016-09-29 06:12:31
【问题描述】:

我有表格视图。在其中我有部分,每个部分只有一行。我使用这些部分,以便我可以控制具有标题高度的行之间的空间。我想为UITableView 添加填充,以便我可以将cells/sections 与设备边缘隔开。间距需要有UITableView背景的颜色。

【问题讨论】:

    标签: ios objective-c uitableview


    【解决方案1】:

    子类UITableviewCell 并覆盖它的setFrame 方法,

    - (void)setFrame:(CGRect)frame {
        frame.origin.x += inset;
        frame.size.width -= 2 * inset;
        [super setFrame:frame];
    }
    

    因此,它将从左侧和右侧填充两个像素。您可以根据需要更改它。

    您可以使用contentInset,但它仅适用于垂直间距(顶部和底部)。您应该按照上面提到的设置单元格的框架来设置水平间距。

    您可以将this answerthis answer作为参考。

    希望这会有所帮助:)

    【讨论】:

    • 为什么 contentInset 不适用于水平间距?
    【解决方案2】:

    正如狮子所说!他的方法运行良好,但它在objectiveC中。这是swift 4.2的方法

    override var frame: CGRect {
            get {
                return super.frame
            }
            set (newFrame) {
                var frame = newFrame
                frame.origin.x += 10
                frame.size.width -= 2 * 10
                super.frame = frame
            }
        }
    

    【讨论】:

    • 当单元格处于编辑模式时,它会滑回错误的位置。有什么解决办法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 2017-04-12
    • 2020-09-22
    相关资源
    最近更新 更多