24

iOS7 でフリップ水平トランジションを使用してビュー コントローラーをモーダルにしようとすると、ナビゲーション バーの原点は最初は (0, 0) で、(0, 20) の正しい位置にジャンプします。iOS6でも同じように動作させることはできますか? プロジェクトはこちらからダウンロードできます。

次のようにカスタマイズされたナビゲーション バーを作成しました。

@implementation MyCustomNavigationBar

- (void)drawRect:(CGRect)rect {
    [super drawRect:rect];
    UIImage *image = [UIImage imageNamed:@"Custom-Nav-Bar-BG.png"];


    [image drawInRect:CGRectMake(0,  0, self.frame.size.width, self.frame.size.height)];

    if (IOSVersion <7) {
    }else{
        self.translucent = NO;
        self.tintColor = [UIColor whiteColor];
        self.barStyle = UIBarStyleDefault;
        self.barTintColor = [UIColor redColor];

    }
}

@end

どんな助けでも大歓迎です。

4

3 に答える 3

4

ハッキングする代わりに[navigationBar.layer removeAllAnimations];、次のようなものも機能するはずです。

[UIView transitionWithView:self.view.window duration:FlipDuration options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
    [UIView performWithoutAnimation:^{
        [self presentViewController:modalController animated:NO completion:nil];
    }];
} completion:nil];
于 2014-05-05T08:38:50.523 に答える
3

オプション「ios 6/7 Deltas」のxibに-20を指定するだけです

またはこれを読む

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/index.html#//apple_ref/doc/uid/TP40006556-CH66-SW1

于 2013-10-03T07:19:40.870 に答える