如何使用滑动菜单设置单个视图的横向方向?

时间:2014-02-14 07:57:50

标签: ios iphone objective-c

我正在使用SWRevealViewController实现滑动菜单。我的应用程序正在以portait模式运行。但我想在横向模式下打开一个视图Controller。 此视图控制器正在打开单击滑动菜单的一个视图。 我在Stackoverflow上搜索,但所有需要UINavigation的控制器都被设置为AppDelegate中的rootViewController。 但在我的情况下,SWrevealViewController被设置为窗口的rootviewController。 请给我一些线索帮助我。

2 个答案:

答案 0 :(得分:1)

我已经通过在视图中使用波纹管代码解决了我的问题,该代码将显示为横向模式。

- (NSUInteger)supportedInterfaceOrientations
{

    return UIInterfaceOrientationMaskLandscapeLeft;
}


-(void)viewDidAppear:(BOOL)animated
{
    if(UIDeviceOrientationIsPortrait(self.interfaceOrientation)){
        if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)])
        {
            objc_msgSend([UIDevice currentDevice], @selector(setOrientation:), UIInterfaceOrientationLandscapeLeft );
        }
    }
}


-(void)viewDidDisappear:(BOOL)animated{

    if(UIDeviceOrientationIsLandscape(self.interfaceOrientation)){
        if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)])
        {
            objc_msgSend([UIDevice currentDevice], @selector(setOrientation:), UIInterfaceOrientationPortrait );
        }
    }
}

答案 1 :(得分:0)

试试这个:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
     return interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight;
}

通过

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
     return  UIInterfaceOrientationIsPortrait(interfaceOrientation);
}