在 Ipad 上的模态视图上插入子视图

Posted

技术标签:

【中文标题】在 Ipad 上的模态视图上插入子视图【英文标题】:Inserting subview over modal view on Ipad 【发布时间】:2011-01-24 20:15:57 【问题描述】:

如何以编程方式访问封装在 iPad 上的模态视图中的视图的大小?

我正在使用 UIModalPresentationFormSheet 枚举在 Ipad 上呈现模态视图,并且有一次我想在整个模态表上临时呈现一个活动指示器视图,直到发生操作。我遇到的问题是我正在使用视图控制器视图的框架初始化这个等待指示器视图,无论出于何种原因,该框架始终显示为 (0,0,320,460)。虽然这对 iPhone 来说很好,但在 iPad 上,模态表单显然比这更大,所以我的活动指示器只是部分覆盖了屏幕。关于如何填写模态表单的任何想法?

感谢您的帮助。

【问题讨论】:

尝试 view.bounds 而不是 view.frame 【参考方案1】:

我认为最好的方法是在视图控制器的 xib 中添加活动指示器。我以前做过,对我来说效果很好。

1) 只需在 xib 中的整个视图上添加一个视图。

2) 如果为黑色且不透明约 20%,则设置背景颜色。这会给你一个阴影覆盖。

3) 在 Interface Builder 的第三个选项卡上,您可以看到自动调整大小的信息。打开所有的支柱和弹簧(确保所有 6 条线都变成红色)。这将确保无论弹出框变成什么大小,视图都会调整大小以填充整个弹出框。

4) 将您的活动指示器添加到该叠加视图中。在第三个选项卡的放置部分,使用这些按钮将其水平和垂直居中。

5) 对于活动指示器,关闭所有支柱和弹簧。这意味着它不会调整大小,但它会一直浮动在视图的中心。

6) 在视图控制器的覆盖视图中添加一个 IBOutlet 并将其附加到 xib 中。

7) 然后,当您加载了所需的任何数据并想要移除活动指示器时,将覆盖视图设置为隐藏以将其完全从弹出窗口的视图中移除。

【讨论】:

以上是关于在 Ipad 上的模态视图上插入子视图的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不使背景变暗的情况下在 iPad 上呈现模态视图控制器?

iPad 上的快照模式视图控制器出现非圆角

SwiftUI 模态演示在 iPad 模拟上搞砸了?

当模态视图可见且 iPad 旋转时,UIPopover 的内容会更改为随机方向

如何处理 iPad 模态视图旋转

模态视图的 iPad 问题:创建视图控制器后模态视图标签为空