【问题标题】:UIView within a UIView not showing upUIView 中的 UIView 未显示
【发布时间】:2013-02-01 03:53:16
【问题描述】:

我在情节提要中创建了一个 UIView(黄色),然后将另外两个 UIView(绿色和红色)拖到黄色的内部。它在 Xcode 故事板中看起来不错。

当我在模拟器中运行时,绿色和红色的 UIView 没有出现?它唯一可以工作的模拟器是当设备设置为 iPhone Retina 4 时。下面的屏幕是 iPhone Retina 3.5。

关于问题可能是什么的任何想法?

更新:显示故事板结构的图像。

【问题讨论】:

  • 确保该视图是黄色视图的子视图。
  • 它在故事板文档大纲中显示它是。
  • 你在使用 AutoLayout 吗?
  • 是的。此外,如果我在绿色 uiview 中抛出一个按钮,该按钮会显示,但问候 UIView 仍然不会显示。
  • 不,我的意思是在您的 xcode 左侧面板中显示视图,因为看到红色和绿色视图在黄色视图中。

标签: ios objective-c uiview storyboard


【解决方案1】:

好的,解决了这个问题。问题是自动布局。我必须为红色和绿色 UIView 设置约束,例如引脚高度和引脚宽度。

【讨论】:

    【解决方案2】:

    您需要调整视图的大小以适应不同的高度。现在,由于Autolayout,视图被剪裁,红色和绿色按钮隐藏在上方。

    一个非常简单的方法是使用 xib 本身的 AutoResizing 标志!只需单击单个组件(UIButtonUILabel 等)并更改标志,如下所示:

    以编程方式为复杂的 UI 执行此操作。

    【讨论】:

    • 启用自动布局后,您没有这些选项。
    • 再次,如果您将模拟器设置为 iPhone 4 Retina,一切都会完美显示。我认为这与旧设备上的自动布局/约束有关。
    • Autolayout 不适用于 iOS 6 之前的版本!检查this SO question。您不会希望针对不同的 iOS 以不同的方式处理它!
    【解决方案3】:

    我通过设置适当的圆角半径解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-30
      • 2014-03-27
      相关资源
      最近更新 更多