【问题标题】:iOS orientation change resizingiOS 方向更改调整大小
【发布时间】:2014-05-01 14:10:59
【问题描述】:

我已经阅读了很多关于此的 SO 问题,但在我的情况下似乎没有任何效果。只需添加一个 UITableView 并对其进行测试并旋转屏幕,它就会保持纵向的宽度。

我怎样才能使它始终填满任何屏幕尺寸的屏幕宽度?

编辑:我的尺码检查员

【问题讨论】:

  • 您尝试设置tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight 吗?
  • 我什么都没做

标签: ios uitableview orientation-changes


【解决方案1】:

为您的UITableView 使用 Storyboard 中的自动调整大小功能。如何设置:

1.选择您的UITableView

2.打开右窗格-> Size Inspector:

3.向下滚动到“视图”部分,您将在此处看到“自动调整大小”菜单:

  1. 别忘了禁用自动布局功能:

【讨论】:

  • 在哪里可以找到这个以及如何设置它?
  • 转到文件检查器(这是右窗格的第一部分)并禁用自动布局功能。查看更新的答案。
  • 虽然我没有改变任何关于自动调整大小的东西禁用自动布局解决了我的问题
  • 我怎样才能以编程方式做到这一点?
【解决方案2】:

您在 XIB 中使用 AutoLayout,因此 AutoResizingMask 并不是您成功的最佳途径。您需要在 TableView 上设置自动布局约束,以便 TableView 及其父视图的前(左)和尾(右)侧之间有 0 px 的间隙。

您可以从屏幕截图中看到您已经设置了一些限制,但它们可能不正确。我建议您从重置所有现有约束开始:我发现当我对约束的位置感到困惑时,这通常是最好的。

  1. 在您的 XIB 文件中选择顶级视图
  2. 从菜单中选择Editor -> Resolve Auto Layout Issues -> Clear All Constraints in View
  3. 选择您的 TableView
  4. 从菜单中选择Editor -> Resolve Auto Layout Issues -> Reset to Suggested Constraints

如果这对您有用,我建议您花一些时间熟悉 AutoLayout 并查看生成的约束:您可以在尺寸检查器中选择和编辑它们。 This 也是一个不错的教程。

对于自定义视图,我经常以编程方式添加我的约束,因为跟踪它们真的很容易——它们比在 IB 中构建时更明显。我使用了一组由另一个 SO 用户提供的类别,您可以找到 here,它们使代码非常易于阅读和维护。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多