我可以直接从具有特定大小 class 或特征集合的 xib 加载 UITableViewCell 吗?
Can I load a UITableViewCell directly from a xib with a specific size class or trait collection?
我正在尝试在我的 iOS 应用程序中执行以下操作:
- 将
UITableView
嵌入父滚动视图; table 视图将扩展其框架以显示其所有内容(我需要这样做,因为 table 视图数据是更大更复杂屏幕的一小部分,我不想嵌套滚动行为)
- 我对 iPhone 和 iPad 有不同的布局,因此此 table 视图中的单元格使用 classes 在 table 中定义的大小查看单元格 xib.
- 由于我希望table视图的内容大小准确,我认为我不能使用
UITableViewAutomaticDimenstion
作为rowheight,所以我实现tableView:heightForRowAtIndexPath:
并加载我的 table 直接从笔尖查看单元格的一个实例,并将该视图存储为一个属性,通过该属性我可以根据自动布局计算出单元格的高度。
我的问题出在这里;当我直接从笔尖加载单元格时,在 iPad 上,单元格使用笔尖中定义的 'Any' 大小 class 中的约束和布局,这是不正确的,因为 iPad 的布局仅在我的笔尖中使用常规宽度 class。这导致我的 table 视图单元格高度错误并且在我的情况下太大。
我需要知道的是,是否有办法在我加载的单元格上强制进行特征收集,以便在每种设备类型上使用我的视图的适当约束。我似乎无法在文档中找到任何允许直接在 UIView
s 中进行此操作的内容,仅在 UIViewController
s 中并且我不热衷于随机持有屏幕外 UITableViewCell
离屏 UIViewController
如果我能帮忙的话。有什么想法吗?
写完这篇文章后,我发现了这个问题: 这似乎问了类似的问题,那里的答案对我有用(添加屏幕外 table 视图单元格作为子视图table视图,或其他提供特征环境的视图)。不是很漂亮,但似乎很有效。
我正在尝试在我的 iOS 应用程序中执行以下操作:
- 将
UITableView
嵌入父滚动视图; table 视图将扩展其框架以显示其所有内容(我需要这样做,因为 table 视图数据是更大更复杂屏幕的一小部分,我不想嵌套滚动行为) - 我对 iPhone 和 iPad 有不同的布局,因此此 table 视图中的单元格使用 classes 在 table 中定义的大小查看单元格 xib.
- 由于我希望table视图的内容大小准确,我认为我不能使用
UITableViewAutomaticDimenstion
作为rowheight,所以我实现tableView:heightForRowAtIndexPath:
并加载我的 table 直接从笔尖查看单元格的一个实例,并将该视图存储为一个属性,通过该属性我可以根据自动布局计算出单元格的高度。
我的问题出在这里;当我直接从笔尖加载单元格时,在 iPad 上,单元格使用笔尖中定义的 'Any' 大小 class 中的约束和布局,这是不正确的,因为 iPad 的布局仅在我的笔尖中使用常规宽度 class。这导致我的 table 视图单元格高度错误并且在我的情况下太大。
我需要知道的是,是否有办法在我加载的单元格上强制进行特征收集,以便在每种设备类型上使用我的视图的适当约束。我似乎无法在文档中找到任何允许直接在 UIView
s 中进行此操作的内容,仅在 UIViewController
s 中并且我不热衷于随机持有屏幕外 UITableViewCell
离屏 UIViewController
如果我能帮忙的话。有什么想法吗?
写完这篇文章后,我发现了这个问题: