UIPopoverViewController添加子视图很慢

时间:2011-10-25 18:39:10

标签: uikit uipopovercontroller

我有一个正确显示自定义UIViewController的UIPopoverViewController。当我单击一个按钮时,我有一个动作运行,因此我将视图添加到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 个答案:

答案 0 :(得分:1)

设置了试图调试它的断点之后,我意识到我的showAccountChooser方法是从块调用中调用的,这是在后台线程上发生的。将此调用移至主线程解决了该问题。