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