繁体   English   中英

将视图添加为应用程序顶部窗口的子视图时,警报视图不可见

[英]alert view is not visible when adding a view as a subview of the application top window

我遇到将商店视图添加为顶部窗口的子视图的情况。 这是通过以下代码完成的:

NSArray* windows = [[UIApplication sharedApplication] windows];
int count = [windows count];
UIWindow* topWindow = [windows objectAtIndex:count - 1];
[topWindow addSubview:_storeView];

当我购买产品时,在某些情况下(不确定确切的时间和原因),应用内购买警报在用户需要输入其应用ID凭据并批准交易的情况下显示在我的视图中,用户。 只有当我放弃我的观点时,我才能看到它们并完成购买流程。

我如何确保这些警报将出现在所有其他视图的顶部。 以及为什么它不一致,在某些情况下它对用户可见,而在某些情况下却不可见…

感谢任何帮助。

为什么将视图直接添加到窗口? 我建议您阅读Apple文档UIViewController编程指南。

问题可能是这行代码:

NSArray* windows = [[UIApplication sharedApplication] windows];
int count = [windows count];
UIWindow* topWindow = [windows objectAtIndex:count - 1];
[topWindow addSubview:_storeView];

您的应用程序的根控制器是什么? 您在使用容器控制器( UINavigationControllerUITabBarController ,...)。 您可以显示您的AppDelegate代码吗?

找到了解决方案。

而不是使用当前窗口,而是创建一个浮动在其他UI元素(例如系统键盘)上方的新窗口。 我将其窗口级别属性设置为UIWindowLevelStatusBar以显示在状态栏上方但在uialertviews下方

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM