UIActivityIndicatorView не работает (получение разрешений Facebook, влияющих на UIActivityIndicatorView)
У меня есть tabbarcontroller с тремя вкладками /viewcontrollers.
Когда я впервые запускаю свое приложение, с моим ActivityIndicator, установленным, чтобы быть видимым и анимированным - любезность построителя интерфейса - это работает отлично.
Однако, когда я нажимаю кнопку, в Facebook открывается окно Интернета, чтобы получить разрешение пользователя.
После того, как часть Facebook позаботится, она вернется в мое приложение, но ActivityIndicator больше не анимируется - он все еще виден, хотя и заморожен.
Если я переключаюсь на другую вкладку / viewcontroller, а затем возвращаюсь к tab / 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 ответ
Где бы вы ни использовали файл NIB для показа с помощью контроллеров представления, вам нужно создать их с помощью initwithname
пример
SecondViewController *r=[[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
как это изменение везде, где вы использовали файл пера для создания экземпляра,
я имел в виду все пользовательские viewcontrollers, которые вы создали с помощью файла NIB