如何在自定义单元格的 initWithStyle: 方法中获取 UITableView 的宽高?

Posted

技术标签:

【中文标题】如何在自定义单元格的 initWithStyle: 方法中获取 UITableView 的宽高?【英文标题】:how to get the width-height of UITableView in custom cell's initWithStyle: method? 【发布时间】:2012-03-26 12:05:05 【问题描述】:

我创建了自定义单元格,其中有 n 个图像视图。根据每行图像视图的数量,我放置了图像视图的大小。为此,我需要 initWithStyle: UITableViewCell 方法中 UITableView 的宽度。但是 iPad 将 UITableView 的宽度返回为 320。我的应用程序仅适用于 iPad,并且我已将 XIB 仅用于 iPad(我已检查选项“针对 iPad”或类似选项)。

有什么方法可以从 init 方法中获取 tableview 的宽度?我用过 self.contentView.frame 和 self.frame 但它们没有用。

【问题讨论】:

【参考方案1】:

一切都是正确的。 ;) 一旦你初始化了一个 tableRow,它的宽度默认可能是 320。您必须为 imageView 使用正确的自动调整大小标志才能自动调整大小。或者,您可以使用 tableView 委托方法 willDisplayRow:atIndexPath: 来自定义 imageView,在 tableViewRow 调整为实际大小之后。

【讨论】:

好吧..这不好...我必须在 willDisplayRow: 方法中再次设置所有这些... :( 无论如何,但谢谢您的友好回答。 不,您可能也可以在您的 imageView 上使用自动调整大小。 (除非这不适合您的情况..但我认为确实如此)

以上是关于如何在自定义单元格的 initWithStyle: 方法中获取 UITableView 的宽高?的主要内容,如果未能解决你的问题,请参考以下文章

如何在自定义 UITableView 单元格上获取 UITextField 值

iPhone:如何从视图控制器中获取自定义单元格的按钮操作?

在自定义单元格中调整 iOS 7.1 中的 UILabel 大小

根据获得的当前单元格的索引路径,自定义单元格中的按钮单击功能

带有自定义单元格的 ViewController 内的 UITableView 没有情节提要

在自定义表格单元中更改图像视图