繁体   English   中英

提出UIActivityViewController的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM