1

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

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

当我购买产品时,在某些情况下(不确定确切的时间和原因)应用内购买警报,用户需要输入他的应用 ID 凭据并批准交易,这些都包含在我的视图中,并且对用户不可见用户。只有当我关闭我的视图时,我才能看到它们并完成购买流程。

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

感谢任何帮助。

4

2 回答 2

0

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

问题可能是这行代码:

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

您的应用程序的根控制器是什么?您是否使用容器控制器(UINavigationController,,UITabBarController...)。你能显示你的 AppDelegate 代码吗?

于 2013-10-20T21:08:19.777 回答
0

找到了解决办法。

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

于 2013-10-22T07:27:25.750 回答