从NSObject类激活View Controller上的活动指示器

时间:2014-12-15 22:14:58

标签: ios xcode activity-indicator

我目前正在尝试激活"活动指标"在我的视图控制器上,来自我存储全局变量和全局函数的NSOBject类。

我把下面的代码放在一起,它是NSObject类函数的基础。当我点击该功能时,我视图上的活动指示器没有动画。请帮忙。

UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"Main"
                                              bundle:nil];
ScreenUIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"ScreenUIViewController"];

[vc.activeDisplay startAnimating];

在我的NSObject类中,我在.h文件中声明了如下所示的函数

+ (GlobalTest*)sharedGlobalTest;

// global function
- (void) testFunction;

在我的NSObject和.m文件中我有

-(void)testFunction
{
NSLog(@"testFunction RAN!!");

UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"Main"
                                              bundle:nil];
ScreenUIViewController* vc = [sb instantiateViewControllerWithIdentifier:@"ScreenUIViewController"];

[vc.activeDisplay startAnimating];

}

我通过

在视图控制器中调用它
[[GlobalTest sharedGlobalTest] testFunction];

功能确实运行,但活动指示器不是aniamte

1 个答案:

答案 0 :(得分:0)

游戏有点晚,但我认为我提出了一个建议。

如果您已将视图控制器嵌入导航控制器中,您可以尝试的一种方法是识别堆栈上的顶视图控制器并从那里显示活动视图控制器。

例如:

// Get the current view controller
UIViewController *currentVc = [(UINavigationController *)[UIApplication sharedApplication].delegate.window.rootViewController topViewController];

// Alloc and init your activity view controller
NSArray *activityItems = @[Item1, Item2, Item3, Etc.];
UIActivityViewController *activityVc = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityVc.excludedActivityTypes = @[ExcludedItem1, ExcludedItem2, Etc.];

// Present the activity view controller from the current view controller
[currentVc presentViewController:activityVc animated:YES completion:nil];

再说一次,也许有点晚来帮助你,但它可能对其他人有用。

干杯!