我有一种情况,我将我的商店视图添加为顶部窗口的子视图。 这是通过以下代码完成的:
NSArray* windows = [[UIApplication sharedApplication] windows];
int count = [windows count];
UIWindow* topWindow = [windows objectAtIndex:count - 1];
[topWindow addSubview:_storeView];
当我购买产品时,在某些情况下(不确定何时何地),应用内购买提醒,用户需要输入其应用ID凭据并批准交易,我的视图涵盖了对用户可见。 只有当我解雇我的观点时,我才能看到它们并完成购买流程。
如何确保这些警报会显示在所有其他视图之上。为什么它不一致,在某些情况下它对用户是可见的,在某些情况下它不是......
感谢任何帮助。
答案 0 :(得分:0)
为什么要将视图直接添加到窗口?我建议你阅读Apple文档UIViewController编程指南。
问题可能是这行代码:
NSArray* windows = [[UIApplication sharedApplication] windows];
int count = [windows count];
UIWindow* topWindow = [windows objectAtIndex:count - 1];
[topWindow addSubview:_storeView];
您的应用程序的根控制器是什么?你在使用容器控制器(UINavigationController
,UITabBarController
,...)。你可以出示你的AppDelegate代码吗?
答案 1 :(得分:0)
找到了解决方案。
而不是使用当前窗口我正在创建一个浮动在其他UI元素(如系统键盘)之上的新窗口。 我正在将其窗口级别属性设置为UIWindowLevelStatusBar以显示上面的状态栏但在uialertviews下面