[英]Issues presenting UIActivityViewController
我想在整个应用程序中显示共享屏幕。 我为此使用UIActivityViewController
。 问题是,根据您在应用程序中的位置,当前的根视图控制器可能是UINavigationController
(Case1)或UIViewController
(Case2)类型。
我可以使用显示UIActivityViewController
[viewController presentViewController:viewController animated:YES completion:nil];
但是我必须在(Case1)中获得UINavigationController
当前可见的UIViewController
,并在(Case2)中获得根视图控制器本身。
但是如何检测存在的根视图控制器并相应地编码?
谢谢。
尝试:
UIViewController *root = [[[[[UIApplication sharedApplication] keyWindow] subviews] objectAtIndex:0] nextResponder];
接着:
if ([root isKindOfClass:[UINavigationController class]]) {
// Navigation Controller
} else {
// The other one
}
那应该告诉你介绍哪一个。
使用以上方法来检测UINavigationControler;
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
//If this will be called it is a navigation controller
}
使用performselector来启动和停止循环活动指示符
AI是活动指示变量名称
[self performSelector:@selector(animateAI) withObject:self afterDelay:0.1];
[self performSelector:@selector(stopAI) withObject:self afterDelay:0.9];
-(void)animateAI
{
[AI startAnimating];
}
-(void)stopAI
{
[AI stopAnimating];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.