0

我目前正在尝试从存储全局变量和全局函数的 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];

函数运行,但活动指示器不显示

4

1 回答 1

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];

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

干杯!

于 2015-06-26T22:17:31.490 回答