我正在为我的应用程序实现会话不活动,例如当应用程序未被触摸30秒时,它应该在当前屏幕的顶部显示另一个屏幕,可以选择注销或继续。我已经实现了检测触摸的功能,并且在未触摸应用程序时能够创建通知。如果我在调用通知观察者时放置NSLog,一切都很好。但我不知道如何显示屏幕。
就像我在我的rootviewController类和ApplicationDidTimeout方法中发出通知一样,我试图执行不起作用的SegueWithIdentifier。我不明白。所以,我尝试了下面编写的代码,它加载了视图但我希望在Formsheet中查看,以便我可以在其他视图之上。
有人可以帮我这个,以便我可以在会话超时时在anyView上显示sessionView
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidTimeout:) name:@"ApplicationDidTimeout" object:nil];
}
- (void) applicationDidTimeout:(NSNotification *) notif
{
NSLog(@"I m here");
BCDSessionInactivityViewController *sessionView=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"InactivityViewController"];
[[self topViewController] presentViewController:sessionView animated:YES completion:nil];
}
答案 0 :(得分:0)
但我希望在Formsheet
中查看
BCDSessionInactivityViewController *sessionView=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"InactivityViewController"];
sessionView.modalPresentationStyle = UIModalPresentationFormSheet;
[[self topViewController] presentViewController:sessionView animated:YES completion:nil];