ios - 如何从 iOS7 中的 UIWindow 对象中获取 UIAlertView

标签 ios objective-c uialertview

我想制作一个监听器,只要它向用户显示它就会抓取 UIAlertView。

我首先设置了这个观察者。

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(windowDidBecomeVisible:)
                                                 name:UIWindowDidBecomeVisibleNotification
                                               object:nil];

然后获取 UIWindow 对象,如下所示。
- (void)windowDidBecomeVisible:(NSNotification *)notification
{
    UIWindow *window = [notification object];
}

但是从这个窗口对象中,我无法获得 UIAlertView。
此窗口下只有一个 subview ,并且该 subview 没有任何 subview 。

下面的链接显示了从窗口对象获取 UIAlertView 对象的代码,但这不起作用。
https://stackoverflow.com/a/2529692/1709287

也许 iOS7 做了一些技巧来包装和隐藏 UIAlertView。
有谁知道如何追踪 UIWindow 对象的 subview (或成员)以到达当前显示在屏幕上的 UIAlertView 对象?

最佳答案

人们在 iOS 6 中通常会做这种事情。

Apple 故意在 iOS 7 上让它变得不可能。你不能再这样做了。唯一的选择是私有(private) API,使用这些 API 会导致您的应用被商店拒绝。

如果您需要这种级别的控制,您必须停止使用 UIAlertView。

关于ios - 如何从 iOS7 中的 UIWindow 对象中获取 UIAlertView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23038741/

相关文章:

iphone - 分段线仅在iPhone上绘制第一段。在模拟器中完美工作

objective-c - 如何使用 Objective-c 在 Amazon S3 上创建文件夹

ios - AFNetworkActivity 位码

iphone - UIAlertView问题

ios - 如何在 iOS 的 UIAlertView 中添加 3 个 UITextField?

javascript - 如何获取webview当前的内容大小?

html - Webkit 溢出滚动导致 div 不显示?

ios - UIAlertView Action 没有 swift 发生

ios - 在 channelCount 条件下从缓冲区播放时 AKPlayer 崩溃

ios - Storyboard在窗口上添加一个按钮