【问题标题】:iOS: How can I figure out the size of the view in the super view's layout?iOS:如何确定超级视图布局中视图的大小?
【发布时间】:2011-10-28 18:25:48
【问题描述】:

当我使用 self.view.frame.size.height 时,它获取子 nib 的高度,而不是视图如何适应整体布局的高度。我使用 self.view.bounds.size.height 和 super.view.bounds.size.height 得到相同的值。

任何帮助将不胜感激。

【问题讨论】:

    标签: ios view interface-builder frame bounds


    【解决方案1】:

    在正确的时间询问。直到视图准备好出现,iOS 才知道它的实际大小。将取决于视图大小合适的代码移动到 viewWillAppear 而不是 viewDidLoadinit 方法。

    【讨论】:

      【解决方案2】:

      在 Xcode 4 中,您将选择包含 UIScrollView 的视图控制器并在 IB 属性检查器中设置“模拟指标”,如下所示:

      这可确保您的 UIScrollView 将设置为正确的大小以在设计时填充可用空间。看起来您使用的是旧版本的 Xcode/IB,我不记得这些设置曾经在哪里,但它们就在某个地方。

      通过设计来容纳标签栏占用空间的布局,您应该能够随时查询 UIScrollView 的大小并获取正确的值。

      【讨论】:

      • 是否可以通过编程方式设置此“推断”状态?
      • 这些指标仅供 IB 在您布置 UI 时使用,在运行时没有任何意义。创建的 nib 文件以实际点值指定视图坐标和大小,即您的 UIScrollView 将具有 width=320 和 height=411(对于 iPhone)。如果没有模拟的底部标签栏,您的 UIScrollView 将在笔尖中具有大小 (320x460)。
      猜你喜欢
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多