添加`UIView`作为子视图最初很慢

时间:2013-01-05 22:47:33

标签: iphone ios uiview load subview

在名为UIViewController的{​​{1}}中,我引用了另一个名为MainViewController的{​​{1}}。它的定义如下:

UIViewController

在我SubViewController的{​​{1}}方法中,我按如下方式初始化@class SubViewController; @interface MainViewController : UIViewController <UIScrollViewDelegate> { SubViewController * _subViewController; }

initWithNibName:bundle:

MainViewController的{​​{1}}方法会被调用,并且所有内容似乎都已加载,但是当我将SubViewController添加为子视图时:

#pragma mark - Init

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil; {
  if((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])){
    _subViewController = [[SubViewController alloc] initWithNibName:@"SubViewController" bundle:nil[;

    // Forces the view to load, in an attempt to speed up the adding of the subview.
    UIView * view = _subViewController.view;
    view.alpha = 1.0f;
  }
  return self;
}

应用程序减慢了几秒钟,然后添加了子视图,一切都很好。奇怪的是,当我删除子视图并尝试重新添加它时, 没有延迟

我认为问题是加载问题,但我找不到任何关于如何解决这个问题的文档。

任何人都可以解释造成这种减速的原因吗?谢谢!

2 个答案:

答案 0 :(得分:0)

你的代码不完整!!

我尝试接受你的代码并制作新的项目-ARC-并且对我毫不拖延 尝试使用仪器来发现最新情况

答案 1 :(得分:0)

我从来没有这样的问题。因为你说如果你不加载第二个视图它会更快。检查viewWillAppear和viewDidAppear中的secondViewController是什么