У меня возникли проблемы с выполнением перехода к предыдущему контроллеру представления при сохранении предпочтительной ориентации предыдущих контроллеров представления. Я реализовал категории в tabbarcontroller, navcontroller и различных контроллерах представлений, чтобы переопределить методы поворота, и помимо этой проблемы, эти контроллеры поддерживают поддерживаемые представления.
Я создал кнопку на контроллере модального представления, которая разворачивается на предыдущий контроллер. Когда я нажимаю эту кнопку в альбомной ориентации, она разворачивается к предыдущей, но в альбомной, хотя предпочтительная/поддерживаемая ориентация контроллера просмотра — портретная.
Я хотел бы выполнить этот переход по раскрутке, не позволяя при этом отображать контроллер в альбомной ориентации (переход обратно в портретную). Я включил короткое видео, показывающее мою проблему.
https://www.dropbox.com/s/a5epj9tpmk85cnv/segueproblem.mov
TabBarController.m
@implementation UITabBarController (autoRotate)
- (BOOL)shouldAutorotate {
return [self.selectedViewController shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations {
return [self.selectedViewController supportedInterfaceOrientations];
}
NavController.m
@implementation UINavigationController (autoRotate)
- (BOOL)shouldAutorotate {
return [self.visibleViewController shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations {
return [self.visibleViewController supportedInterfaceOrientations];
}
BViewController.m
@implementation BViewController
- (BOOL)shouldAutorotate {
return NO;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationPortrait;
}
- (IBAction)unwindToViewControllerNameHere:(UIStoryboardSegue *)segue {
}
CViewController.m
@implementation CViewController
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
- (IBAction)backbutton:(id)sender {
}
supportedInterfaceOrientations
и посмотрите, что происходит в момент увольнения. С ними консультируются? Они возвращают ответ, который вы хотите, чтобы они вернули? - person matt   schedule 01.07.2014