快速更改tableviewcell的宽度

维克多--------

我有一个使用自定义单元格和原型单元格的IB的tableView。

我试图使单元格的宽度比tableView.frame短一些,以便在左右角之间留出一些空间。

var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as TableViewCell
        cell.bounds = CGRectMake(10, self.tableView.frame.origin.y, 30, self.tableView.frame.size.height)
        cell.layer.bounds = CGRectMake(10, self.tableView.frame.origin.y, 30, self.tableView.frame.size.height)
        cell.textLabel?.bounds = CGRectMake(10, self.tableView.frame.origin.y, 30, self.tableView.frame.size.height)

更新:这是一个很好的示例,解释了如何将subView添加到tableView。http://natashatherobot.com/ios-frame-vs-bounds-resize-basic-uitableview-cell/

更新2:似乎没有简单的方法来执行此操作。据我所知,有3种方法可以实现此目的:

  1. 向您的单元格添加一个圆角且较短的图像,该图像具有完全相同的颜色并匹配您的背景。
  2. 您可以将tableViewCell子类化,然后使用layoutSubviews进行播放,这样可以在绘制单元格之前使其更短。我已经做到了,但是滚动性能糟透了。
  3. 最好的方法是完全抛弃tableView并用collectionView重新做。
卡塔琳娜T.

表格视图中的单元格应与容器一样宽。

如果您需要单元格的宽度与表格视图的宽度不同,建议您将一个视图添加为子视图cell.contentView,并使该视图尽可能宽,同时确保contentView背景清晰,没有分隔符,并且所有分隔符(这样它就会出现它不在那里)。

另一种解决方案是通过向其添加左/右填充来使其tableView不像它那么宽superview但是您会遇到一个问题,即在左侧和右侧的填充位置,您将无法滚动tableView

我认为使用的最干净的解决方案collectionView它与a没有太大区别tableView,您可以配置单元的整个大小,而不仅仅是高度。

希望这可以帮助您解决问题。让我知道您是否需要更多帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章