2013-10-03 65 views
0

我有這個應用程序有選項卡,每個選項卡的根視圖控制器是一個導航控制器。我想在應用程序忙於解析JSON並將其加載到我的核心數據堆棧中並使用淡出動畫從超級視圖中將其刪除時顯示我的啓動畫面或啓動圖像。我試過這段代碼,使其工作,但我卡住,因爲圖像只顯示在導航控制器內的視圖。我想要的是全屏查看狀態欄在頂部,就像啓動應用程序時看到的一樣。顯示圖像以延長初始屏幕使用iPhone SDK中的故事板

_launchImageView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds]; 

if (kFourInchDevice) { 
    _launchImageView.image = [UIImage imageNamed:@"[email protected]"]; 
} 

[self.view addSubview:_launchImageView]; 
[self.view bringSubviewToFront:_launchImageView]; 

這是我的代碼駁回時:

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 
[UIView setAnimationCurve:UIViewAnimationCurveLinear]; 
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.view cache:YES]; 
[UIView setAnimationDelegate:self]; 
[UIView setAnimationDidStopSelector:@selector(launchImageFadeAnimationDidFinished)]; 
_launchImageView.alpha = 0.0; 
[UIView commitAnimations]; 

- (void)launchImageFadeAnimationDidFinished 
{ 
    [_launchImageView removeFromSuperview]; 
} 

如何做到這一點任何想法?謝謝!

回答

1

我認爲你有隱藏導航屏幕NavBar的問題不是嗎? 只需在故事板中添加一個額外的ViewController。 然後在屬性選項卡 - 視圖控制器下的實用工具(左側欄)下創建VC初始視圖控制器。

呼叫在您查看下面有沒有加載

- (void) hideNavBar { 
UINavigationBar *navBar = self.navigationController.navigationBar; 
    navBar.hidden = TRUE; 
} 

然後,當你完成你的JSON解析器 -

#pragma mark - Delegates 
#pragma mark JSON Request 

-(void) connectionReady; { 

NextVC *viewController = [self.storyboard 
               instantiateViewControllerWithIdentifier:@"NextVC"]; 
     [self.navigationController pushViewController:viewController 
              animated:YES]; 
} 

然後終於在NextVC

- (void) showNavBar { 
    UINavigationBar *navBar = self.navigationController.navigationBar; 
    navBar.hidden = FALSE; 
} 
+0

我有點希望如果有是創建一個單獨的'UIViewController'的替代方法,但它似乎是唯一的方法。自從我使用製表符後,我無法將此視圖作爲初始視圖。 – jaytrixz

+1

是的,你可以按照這個http://stackoverflow.com/questions/9028534/launching-a-login-view-before-the-tab-bar-controller-is-顯示 –

+0

很酷的感謝!這使它工作! – jaytrixz