fre*_*edy 1 cocoa-touch uiwindow ios
我有一个以模态方式呈现视图控制器的应用程序,我在不同的 UIWindows 中有一个标准的 ViewController 和一个 UIAlertController,主窗口具有正常的 UIWindowLevel 优先级,警报窗口具有 Alert UIWindowLevel 优先级,因为我希望始终将警报放在任何 ViewController 之上我在主 UIWindow 上以模态呈现(AppDelegates 参考)。我还有另一个具有状态栏优先级的 UIWindow,当我希望确保在所有内容之上都有一个不同的 ViewController 时。因此,当我使用 Alert UIWIndowLevel 优先级显示 UIWindow 并且在显示具有状态栏 UIWIndowLevel 的不同窗口之后,警报窗口中的警报显示在状态栏窗口的顶部。有什么原因吗?
所以,我正在查看许多打开的 SO 中的一些,并看到了这个答案: https //stackoverflow.com/a/24262942/6784707
我打印的 (UIWindowLevelNormal, UIWindowLevelAlert, UIWindowLevelStatusBar) 的值是 (0.0, 2000.0, 1000.0)。但 Apple 的文档指出:
让UIWindowLevelNormal : UIWindowLevel
默认级别。将此级别用于您的大部分内容,包括您应用的主窗口。
让UIWindowLevelAlert : UIWindowLevel
警报视图的级别。此级别的窗口显示在 UIWindowLevelNormal 级别的窗口之上。
让UIWindowLevelStatusBar : UIWindowLevel
状态窗口的级别。窗户在这个级别上出现的UIWindowLevelAlert水平窗口的顶部。
我在 Apple 的 Bug Reporter 中填写了一个错误。
我的解决方案是创建一个值超过 2000 的 CGFloat 并将其添加到 windowLevel。
| 归档时间: |
|
| 查看次数: |
5138 次 |
| 最近记录: |