如何在Apple的UITableView样式中获取子视图的帧位置?

时间:2011-03-05 18:48:27

标签: ios uitableview

我正在尝试创建一个看起来像Apple的UITableViewCellStyleSubtitle的单元格,除了textLabel是UITextView(因此可以编辑)。我只是将textLabel设置为“”(以便detailTextView位于正确的位置)并在其上面放置一个UITextView。到现在为止还挺好。它正在工作,除了我不能让我的UITextView与其他单元格的其他textLabel对齐。我很沮丧(在很多方面......)。

所以这让我想知道:有没有办法获取UITableViewCellStyleSubtitle单元格的各个位的帧?明显(或看似显而易见)的方式不起作用。 cell.textLabel.frame返回nil,如果你打印它,它的帧显示(0,0,0,0)。也许还有另一种方式。

我意识到我可以对它进行硬编码,但我仍然在猜测那些尺寸可能是什么。以编程方式会更好......我想。

思想?

谢谢,
比尔

1 个答案:

答案 0 :(得分:0)

如果视图的变换不是标识变换,则视图的帧无效。我没有尝试过,但您可以通过这种方式复制元素的位置:

  1. 存储单元格的转换
  2. 将单元格的变换设置为CGAffineTransformIdentity
  3. 获取元素的框架
  4. 使用相同的框架设置您自己的元素
  5. 将原始转换应用于您的单元格
  6. 知道这是否有效会很有趣 - 如果运气好的话请回复。