Подтвердить что ты не робот

Навигационная панель имеет неправильное положение, когда модальный контроллер просмотра с переворотом горизонтального перехода в iOS 7

Когда я пытаюсь модифицировать контроллер вида с переворотом горизонтального перехода в 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

Любая помощь будет оценена.

4b9b3361

Ответ 1

У меня с вами такая же проблема. Я думаю, что это ошибка с UIKit на iOS 7.

Я добавил немного кода в метод viewWillAppear при представлении

     [self.navigationController.navigationBar.layer removeAllAnimations];

Когда я отклоняю это мнение, я добавил:

-(IBAction)btnDonePressed:(id)sender {
    [UIView transitionWithView:self.navigationController.view
                      duration:0.75
                       options:UIViewAnimationOptionTransitionFlipFromLeft
                    animations:nil
                    completion:nil];
    [self dismissViewControllerAnimated:YES completion:nil];
}

Это сработало для меня. Надеюсь, это поможет вам.

Ответ 2

Вместо того, чтобы взломать [navigationBar.layer removeAllAnimations];, что-то вроде этого должно работать также:

[UIView transitionWithView:self.view.window duration:FlipDuration options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
    [UIView performWithoutAnimation:^{
        [self presentViewController:modalController animated:NO completion:nil];
    }];
} completion:nil];