2013-09-05 6 views
1

У меня есть приложение, разработанное для iPhone с Xcode, которое меняет мои контроллеры представлений в портретном режиме с включенным вращением.Как изменить ориентацию экрана на новом контроллере modal view iOS

есть ячейка в моем представлении таблицы, которая запускает новый контроллер представления (iPhoneSignVC) в модальном режиме, мой вопрос ...

есть способ, чтобы определить ориентацию моего нового взгляда на модальном контроллера с самого начала ?? Я имею в виду ... Я хочу, чтобы мой новый контроллер представления, чтобы быть в ландшафтном режиме и без экрана функции вращения, происходящей на этом конкретную ViewController

до сих пор, что я сделал, чтобы создать новый класс, который переписывает класс UINavigation контроллера

#import "UINavigationController.h" 
#import "iPhoneSignVC.h" 

@implementation UINavigationController (overrides) 

- (BOOL)shouldAutorotate 
{ 
    id currentViewController = self.topViewController; 

    if ([currentViewController isKindOfClass:[iPhoneSignVC class]]) 
     return NO; 


    return YES; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    id currentViewController = self.topViewController; 

    if ([currentViewController isKindOfClass:[iPhoneSignVC class]]){ 
     return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
    } 

    return (interfaceOrientation == UIInterfaceOrientationMaskAll); 
} 


@end 

Я попытался это без успеха ...

Спасибо заранее за ваши люди поддержки

ответ

1

Я думаю, это все, что вам нужно для вашего модального зрения, чтобы открыть в ориентации вы хотите:

#import "UINavigationController.h" 
#import "iPhoneSignVC.h" 


@implementation UINavigationController (overrides) 

- (NSUInteger)supportedInterfaceOrientations { 

    if ([self.topViewController isKindOfClass:[iPhoneSignVC class]]) 
     return UIInterfaceOrientationMaskLandscape; 

    return UIInterfaceOrientationMaskAll; 
} 
@end 
+0

работал !!!! благодаря!!! = D –

1

Есть несколько соображений, которые входят в это в зависимости от основной ОС. Оформить заказ very comprehensive question и this solution.

+0

буду читать им спасибо !!!! –

+1

Вы разместили ссылки на вопрос, на который принято отвечать больше ссылок. Попробуйте отправить ответ вместо ссылок, как если бы ссылки изменились, тогда ответ бесполезен. –

Смежные вопросы