gpt4 book ai didi

ios - UITableViewCell 左右边距

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:23 27 4
gpt4 key购买 nike

我想制作这样的细胞。我用的是 swift。

但我不知道如何在单元格的右侧和左侧添加边距。

你知道如何在截面上做同样的边缘效果吗? (当有多个cell时,接触的边缘不圆润) enter image description here

当我使用 contentInset 时:

self.tableView.contentInset = UIEdgeInsetsMake(0, -15, 0, 0)

enter image description here

self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, -15)

enter image description here

最佳答案

从您的屏幕截图看来,您正在尝试使用分组 TableView 来执行此操作。为此,您应该使用添加到 UIViewController 而不是 UITableViewControllerUITableView

要设置插图,您只需将表格 View 的约束/框架设置为从左边缘和右边缘稍微向内,并将 View 的背景颜色设置为 UIColor.groupTableViewBackgroundColor()

然后在 cellForRowAtIndexPath 中你可以这样说:

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cornerRadius:CGFloat = 5.0

let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

// Configure your cell

let sectionCount = tableView.numberOfRowsInSection(indexPath.section)
let shapeLayer = CAShapeLayer()
cell.layer.mask = nil
if sectionCount > 1
{

switch indexPath.row {
case 0:
var bounds = cell.bounds
bounds.origin.y += 1.0
let bezierPath = UIBezierPath(roundedRect: bounds, byRoundingCorners: [.TopLeft, .TopRight], cornerRadii: CGSize(width: cornerRadius,height: cornerRadius))
shapeLayer.path = bezierPath.CGPath
cell.layer.mask = shapeLayer
case sectionCount - 1:
var bounds = cell.bounds
bounds.size.height -= 1.0
let bezierPath = UIBezierPath(roundedRect: bounds, byRoundingCorners: [.BottomLeft, .BottomRight], cornerRadii: CGSize(width: cornerRadius,height: cornerRadius))
shapeLayer.path = bezierPath.CGPath
cell.layer.mask = shapeLayer
default:
break
}
return cell
}
else
{
let bezierPath = UIBezierPath(roundedRect: CGRectInset(cell.bounds,0.0,2.0), cornerRadius: cornerRadius)
shapeLayer.path = bezierPath.CGPath
cell.layer.mask = shapeLayer
return cell
}
}

您只需根据行的索引路径和部分中的行数应用掩码。如果您有动态调整大小的单元格,您可能需要将掩码应用到您的 UITableViewCell 子类。

你应该得到这样的结果:

enter image description here

关于ios - UITableViewCell 左右边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38719691/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com