UIPopoverViewController 添加子视图很慢
Posted
技术标签:
【中文标题】UIPopoverViewController 添加子视图很慢【英文标题】:UIPopoverViewController Adding Subviews is slow 【发布时间】:2011-10-25 18:39:09 【问题描述】:我有一个 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】:在设置断点尝试调试之后,我意识到我的 showAccountChooser
方法是从块调用中调用的,这发生在后台线程上。将此调用移至主线程解决了该问题。
【讨论】:
以上是关于UIPopoverViewController 添加子视图很慢的主要内容,如果未能解决你的问题,请参考以下文章
禁用 UIPopoverViewController 内容视图上的阴影
使用委托在 UIPopoverViewController 和 MainViewController 之间进行通信
UIPopoverViewController presentModalViewController 动画
如何将导航栏和标签栏设置为通过 UIPopoverViewController 的视图?
uiactivityindicatorview 在 uipopoverviewcontroller iphone 中不起作用