2
我有一個視圖控制器,其工作是顯示一個大的圖像,最初的大小適合屏幕,用戶可以平移和縮放。該圖像是用手機的相機拍攝的,然後保存到設備並使用+[UIImage imageWithData:]
重新加載。如何讓視圖控制器在動畫之前繪製其視圖?
我顯示在導航堆棧中的控制器,但我用這樣的衰落過渡:
SGBImageController *imageController = [[[SGBImageController alloc] init] autorelease];
imageController = <theImage>;
[imageController loadView];
[UIView transitionWithView:self.navigationController.view
duration:0.33
options:UIViewAnimationOptionAllowAnimatedContent
|UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[self.navigationController pushViewController:imageController animated:NO];
} completion:nil];
的動畫漸變應光滑,但它的生澀,並期待在儀器我看到它的花所有的時間在CA::Layer::Render
。我已經添加了loadView
系列,試圖強制它顯示其視圖,但沒有幫助。如何讓視圖控制器在動畫之前繪製自己?
這是不正確的。如果您使用筆尖,則使用viewDidLoad,但不使用筆尖。如果你想自己構建視圖,你可以使用viewDidLoad。 – Simon
是的,你可以覆蓋loadView,如果你不從Nib加載視圖,但你不必直接調用該方法。 來源:http://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/loadView –
是的。但是如果你調用[imageController視圖]而不做任何事情,你也會得到警告,而[imageController loadView]更具表現力。 – Simon