Навигационная панель имеет неправильное положение, когда модальный контроллер просмотра с переворотом горизонтального перехода в 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
Любая помощь будет оценена.
Ответы
Ответ 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];
Ответ 3
Просто укажите значение -20 в опции xib "ios 6/7 Deltas"
или прочитайте это
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/index.html#//apple_ref/doc/uid/TP40006556-CH66-SW1