我想在整个应用中提供共享屏幕。我正在使用UIActivityViewController
来实现此目的。问题是,根据您在应用中的位置,当前的根视图控制器可以是UINavigationController
(Case1)或UIViewController
(Case2)。
我可以使用
呈现UIActivityViewController
[viewController presentViewController:viewController animated:YES completion:nil];
但是我必须在(Case1)中看到UIViewController
的{{1}},在(Case2)中看到根视图控制器本身。
但是如何检测存在哪种根视图控制器&相应的代码?
感谢。
答案 0 :(得分:0)
尝试:
UIViewController *root = [[[[[UIApplication sharedApplication] keyWindow] subviews] objectAtIndex:0] nextResponder];
然后:
if ([root isKindOfClass:[UINavigationController class]]) {
// Navigation Controller
} else {
// The other one
}
应该告诉你哪一个出现。
答案 1 :(得分:0)
使用上述方法检测UINavigationControler;
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
//If this will be called it is a navigation controller
}
答案 2 :(得分:-1)
使用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];
}