【问题标题】:Drawing outside the bounds of UITableViewCell在 UITableViewCell 的范围之外绘图
【发布时间】:2011-04-01 14:48:25
【问题描述】:

我正在尝试向我的UITableView 中的所有单元格添加类似“便利贴”的图像。此图像需要(部分)在UITableViewCell 的范围之外绘制。

clipToBounds 设置为NO 时,图像确实绘制在单元格边界之外。但是,(非常合乎逻辑地)图像绘制在UITableView 分隔线和节标题下方。

我想我可以尝试将图像直接添加到UITableView,在所有其他元素之上。但是,尝试找出UITableView 中每个单元格的确切位置可能会变得相当复杂,因为我使用的是节标题。

所以,在开始这段旅程之前,我想知道是否有更简单的解决方案。

【问题讨论】:

  • 我认为您找不到解决方案。如果要在分隔符上方绘制,您可以隐藏分隔符,并画一条线来模拟它。但这里的问题是单元格具有一定的层次结构,它们被添加为子视图。另一个单元格上方的单元格,只会隐藏您使用剪辑绑定在单元格外部绘制的视图。

标签: ios uitableview cliptobounds


【解决方案1】:

您可以尝试隐藏分隔符,然后在 UITableViewCell 中的便利贴后面绘制您自己的分隔符。这应该可以解决问题。

【讨论】:

    【解决方案2】:

    我会使用仿射变换将便利贴图像移动到其预期位置,并更改分隔视图的边缘插图,使其不会绘制在图像上。

    postItImage.transform = CGAffineTransform(translationX: 50, y: 20)
    separatorInset = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 50)
    

    这取决于您的 UI 需要是什么样子。这显然会改变 all 单元格的分隔符插入,这可能是可接受的,也可能是不可接受的;-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多