简体   繁体   中英

How to set landscape orientation for single view using sliding menu?

I am implementing sliding menu using SWRevealViewController .My app is running in portait mode .But I wan to open a view Controller in Landscape mode. This View controller is opening on Click on one view of sliding menu. I've search on Stackoverflow, But all need UINavigation controller is to be set as an rootViewController in AppDelegate. But in my case SWrevealViewController is set as an rootviewController of window. Please help me by giving some clue.

I have solved my problem by using bellow code in the view which will be appear to be in landscape mode.

- (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 );
        }
    }
}

Try this :

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

by,

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM