UIPopoverViewController Медленное добавление подпредставлений - PullRequest
1 голос
/ 25 октября 2011

У меня есть UIPopoverViewController, который правильно отображает пользовательский UIViewController.Когда я нажимаю кнопку, у меня запускается действие, и в результате я добавляю представление в иерархию представлений представления UIViewController.

Проблема в том, что он очень медленный, и для появления представления требуется несколько секунд.Я не делаю ничего необычного с кодом моего UIViewController.

- (void)showAccountChooser {
    self.twitterAccountPicker = [TwitterAccountPicker new];
    [self.view addSubview:self.twitterAccountPicker.view];
    self.twitterAccountPicker.view.frame = self.view.bounds;

    self.twitterAccountPicker.view.transform = CGAffineTransformMakeScale(.05, .05);

    [UIView animateWithDuration:0.5f animations:^{
        self.twitterAccountPicker.view.transform = CGAffineTransformMakeScale(1, 1);
    } completion:^(BOOL finished) {
        //[self.twitterAccountPicker viewDidAppear:YES];
    }];
}

Добавляемый мной UIViewController тривиален и не выполняет тяжелую обработку в viewDidLoad или viewWill / DidAppear.Я установил точки останова и убедился, что он ничего не делает плохо .

Кто-нибудь еще заметил это при добавлении просмотров?

1 Ответ

1 голос
/ 25 октября 2011

После установки точек останова при попытке отладки я понял, что мой метод showAccountChooser вызывался из вызова блока, который происходил в фоновом потоке. Перемещение этого вызова в основной поток решило проблему.

...