代码之家  ›  专栏  ›  技术社区  ›  Daniel Dickison

具有给定附件类型的UITableViewCell的ContentView宽度

  •  23
  • Daniel Dickison  · 技术社区  · 15 年前

    在iPhone上,当表视图单元格的内容视图显示某个附件视图(公开指示器等)时,如何计算其宽度?

    我需要这个来计算包含换行、可变长度文本的单元格的正确单元格高度。但是当表视图委托被请求单元格高度时,它实际上没有实际的单元格实例,因此它不能直接查询内容视图边界。

    我可以很容易地在右边硬编码一个20像素的空白,这对于一个简单样式的带有显示指示器的纵向表格视图来说似乎是准确的,但是如果苹果决定调整空白,我更愿意用正确的方式来实现,这样它就可以继续工作。

    (这与 this question )

    3 回复  |  直到 15 年前
        1
  •  2
  •   Colin Barrett    15 年前

    就个人而言,我只需要硬编码这些值——简单一些,事情就会以一种可预测的方式破裂。

    但是,如果我以编程的方式这样做,我将创建一个UITableViewCell,设置需要测量的编辑属性/附件视图,然后询问它的ContentView有多大。

    当然,我可能会大量缓存这个——在询问UITableView时进行分配,会询问您高度信息,在我看来这会很慢(不过,和往常一样,请首先检查分析器)。

        2
  •  0
  •   Brad The App Guy    15 年前

    我将拥有一个UITableViewCell的子类,其中包含它的所有子元素。当单元格进入并存在编辑模式时,可以隐藏某些元素的框架。在苹果的“表视图编程指南”的“创建自定义表视图单元”一节中有一个很好的例子。

        3
  •  0
  •   Ed Marty    15 年前

    我相信 UITableViewCell 的ContentView属性是包含标签等的视图,因此其宽度应为可使用的可用大小。