我正在尝试查找隐藏或显示警报视图时调用的委托/协议甚至通知。这些事件会触发我可以收听的通知或回叫吗?
我知道UIAlertView协议,但这不是我想要的,我正在寻找实际显示并隐藏事件以在完成后执行操作。
这是否存在?
答案 0 :(得分:1)
如果您想了解自己已经展示过的AlertView,那么您正在寻找UIAlertViewDelegate协议
didPresentAlertView:
和alertView:didDismissWithButtonIndex:
如果您想知道操作系统何时显示AlertView,您可以在UIWindow class reference中尝试UIWindowDidBecomeVisibleNotification
和UIWindowDidBecomeHiddenNotification
,然后检查windowLevel
属性等于UIWindowLevelAlert
答案 1 :(得分:0)
检查NSNotifications
的简便方法是将该代码添加到 AppDelegate.m :
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notification:) name :nil object:nil];
return YES;
}
-(void)notification:(NSNotification*)notification
{
NSLog(@"Notification name is %@, \n sent by %@\n\n",[notification name], [[notification object] description] );
}
我测试了此代码触发UIAlertViews
,但我从未收到与此相关的NSNotification
所以可能没有NSNotification
与UIAlertViews
相关。