【问题标题】:TableView Header initialized from nib doesn't fit TableView width从 nib 初始化的 TableView 标头不适合 TableView 宽度
【发布时间】:2015-08-27 13:28:47
【问题描述】:

我正在从 nib 文件中为我的 UITableView 实例化一个 UITableViewHeaderFooterView 子类和一个 UITableViewCell 子类。

您不能在 IB 中使用 UITableViewHeaderFooterView,因此我通过将 UITableViewCell 添加到子类为 UITableViewHeaderFooterView 的 nib 文件中来避免此问题,这为其提供了内容视图并允许其运行正常。

问题是:

调整单元格的宽度以适应 UITableView 并且 UITableViewHeaderFooterView 与 nib 文件中的保持完全相同。当您旋转设备或使用屏幕宽度更大的设备时,它仍然与 nib 文件中的相同。

如何使它适合UITableView?

【问题讨论】:

  • 你没有使用自动布局?
  • 你应该动态计算子视图“UITableViewHeaderFooterView”。您可以发布代码片段。
  • 我使用自动布局,但我应该如何在独立的 Nib 上设置适当的布局约束?或者你真的可以在 IB 的 Nib 文件中将自动布局约束设置为“不存在”但超级视图吗?还是必须以编程方式进行?

标签: ios objective-c iphone uitableview uikit


【解决方案1】:

现在,如果有人遇到同样的问题:

我已经阅读了一些较旧的 stackoverflow 帖子,您可以在标题 nib 文件中使用 UITableViewCell 和自定义 UITableViewHeaderFooterView 类。不要这样做,只需使用UIView,它就会正确缩放宽度。

【讨论】:

  • 你能解释一下你的问题吗?我有这个问题,但我不能完全理解。在我的情况下,尽管我使用 UIView 或 UITableViewHeaderFooterView 作为我类的父级,但问题仍然存在。
【解决方案2】:

希望您在 XIB 中有 headerview。设置自动布局约束、前导、尾随和高度属性 参考:http://www.informit.com/articles/article.aspx?p=2015112&seqNum=2

【讨论】:

  • 我想使用自动布局,但是您不能从 Nib 文件的层次结构中的第一个视图将约束设置为“不存在”但超级视图。除非你能以某种方式以编程方式完成。
  • 为孤立的 xib 设置约束就足够了。
  • 如何给 Xib 添加约束?
猜你喜欢
  • 2014-01-14
  • 2017-11-01
  • 2015-07-20
  • 1970-01-01
  • 2015-04-14
  • 2015-01-31
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多