0

タブを持つこのアプリがあり、各タブのルート ビュー コントローラーはナビゲーション コントローラーです。アプリが JSON の解析とコア データ スタックへの読み込みで忙しい間に、スプラッシュ スクリーンまたは起動イメージを表示し、フェード アウト アニメーションを使用してスーパービューから削除したいと考えています。このコードを機能させるために試しましたが、ナビゲーションコントローラー内のビューにのみ画像が表示されるため、行き詰まりました。私が望んでいたのは、アプリを起動したときに表示されるように、ステータスバーを上にしてフルスクリーンで表示することです。

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

if (kFourInchDevice) {
    _launchImageView.image = [UIImage imageNamed:@"Default-568h@2x.png"];
}

[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];
}

これを行う方法についてのアイデアはありますか?ありがとう!

4

1 に答える 1

1

スプラッシュ スクリーンで NavBar を非表示にするという問題が発生していると思いますか? ストーリー ボードに ViewController を 1 つ追加するだけです。次に、Utilities (左側のバー) の [Attribute] タブ - [View Controller] で、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;
}
于 2013-10-03T09:49:09.967 に答える