Имам проблеми с извършването на преход към предишния контролер за изглед, като същевременно запазвам предпочитаната ориентация на контролерите за предишния изглед. Внедрих категории в tabbarcontroller, navcontroller и различни контролери за изгледи, за да заменя методите за завъртане, и освен този единствен проблем, тези контролери поддържат поддържаните изгледи.
Създадох бутон на контролера за модален изглед, който се развива към предишния контролер. Когато натисна този бутон, докато съм в пейзаж, той се отвива до предишния, но в пейзаж, въпреки че предпочитаната/поддържана ориентация на viewcontroller е портретна.
Бих искал да изпълня това разгъване, като същевременно не му позволявам да показва контролера като пейзаж (сегментът е обратно към портрет). Включих кратък видеоклип, показващ моя проблем.
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