簡體   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