我有一个带有三个选项卡/视图控制器的tabbarcontroller。

当我第一次启动我的应用程序时,我的ActivityIndi​​cator设置为可见且具有动画效果(由界面生成器提供),可以正常工作。

但是,当我单击一个按钮时,Internet窗口将打开到Facebook,以获取用户的许可。

小心处理Facebook部分后,它会返回我的应用程序,但ActivityIndi​​cator不再具有动画效果-尽管仍然可见,只是冻结了。

如果我切换到另一个选项卡/视图控制器,然后使用ActivityIndi​​cator返回到选项卡/视图控制器,则一切正常。

有没有一种方法可以刷新ViewController,而不必以编程方式来回切换ViewController?或其他建议?

/ *我搜索了论坛,并且看到了类似的问题。似乎有一个断开的连接。因此,我将在添加ViewController的地方添加代码(即,将“ controller”添加到我的tabbarcontroller中)。 * /

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    controller = [[DemoAppViewController alloc] init];
    controller.view.frame = CGRectMake(0, 20, 320, 460);
    controller.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"movieAppBackground.jpg"]];
    MyTabBarViewController *vc2 = [[MyTabBarViewController alloc] init];
    SecondViewController *vc3 = [[SecondViewController alloc] init];

    controller.title = @"Intro Screen";
    vc2.title = @"Explore";
    vc3.title = @"Send a Pic";

    UITabBarController *tbc = [[UITabBarController alloc] init];
    tbc.viewControllers = [NSArray arrayWithObjects:controller, vc2, vc3, nil];
    self.theTBC=tbc;

    [controller release];
    [vc2 release];
    [vc3 release];
    [tbc release];

    [self.window addSubview:tbc.view];
    [self.window makeKeyAndVisible];

  return YES;

}

最佳答案

无论您使用NIB文件与视图控制器一起显示的任何位置,都必须使用initwithname创建它们



     SecondViewController *r=[[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];


就像您使用nib文件创建实例的地方一样,

我的意思是要使用NIB文件创建的所有自定义ViewController

关于iphone - UIActivityIndi​​catorView无法正常工作(获取影响UIActivityIndi​​catorView的Facebook权限),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6900067/

10-10 21:05