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