UIActivityIndicatorView не работает (получение разрешений Facebook, влияющих на UIActivityIndicatorView) - PullRequest
0 голосов
/ 01 августа 2011

У меня есть tabbarcontroller с тремя вкладками / viewcontrollers.

Когда я впервые запускаю свое приложение с моим ActivityIndicator, установленным, чтобы быть видимым и анимированным - любезно предоставлено конструктором интерфейса - оно отлично работает.

Однако, когда я нажимаю кнопку, в Facebook открывается окно для получения разрешения пользователя.

После того, как часть Facebook позаботится, она возвращается в мое приложение, но ActivityIndicator больше не анимируется - он все еще виден, хотя и просто заморожен.

Если я переключаюсь на другую вкладку / viewcontroller, а затем возвращаюсь к вкладке / viewcontroller с ActivityIndicator, все работает нормально.

Есть ли способ обновить мой ViewController, чтобы мне не приходилось программно переключать ViewController назад и вперед? Или какие-либо другие предложения?

/ * Я обыскал форумы и увидел похожий вопрос. Оказалось, что была разорвана связь. Поэтому я добавлю код, в который я добавляю ViewController (то есть «контроллер» в мой 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;

}

1 Ответ

1 голос
/ 01 августа 2011

Где бы вы ни использовали файл NIB для показа с помощью контроллеров представления, вам нужно создать их с помощью initwithname

Пример

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

, как это изменение, где бы вы ни использовали файл nib для создания экземпляра,

я имел в виду все пользовательские контроллеры представления, которые вы создали с помощью файла NIB

...