2014-02-27 118 views
0

我只想在橫向模式下製作屏幕。對ios5來說工作很好。但在iOS 7中,它不起作用。我使用以下代碼在ios7中提供支持。ios7不支持橫向方向

-(BOOL)shouldAutorotate{return TRUE;} 
-(NSUInteger)supportedInterfaceOrientations{return UIInterfaceOrientationMaskLandscape;} 

它不會接到所有屏幕的呼叫。 謝謝。 AKS。

+0

系統會要求root viewController獲取方向信息。確保你的代碼在rootVC – Jing

+0

我寫了這個代碼在視圖controller.m。它第一次接到電話。但在導航到下一個屏幕後沒有打電話。 – AKS

+0

您使用UINavigationController從A移動到B?如果是這樣,你應該繼承UINavigationController,並在那裏寫代碼。您在A中編寫的代碼將不起作用 – Jing

回答

0
- (BOOL)shouldAutorotate 
{ 
    UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]; 

    if (orientation==UIDeviceOrientationLandscapeRight || orientation==UIDeviceOrientationLandscapeLeft) { 

     return YES; 
    } 
    return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskLandscape; 
} 
+0

但問題是,當導航到下一個屏幕時,它沒有接到呼叫。 – AKS

+0

從您的根控制器中,調用viewController中的shouldAutorotate。如果您使用導航控制器,則可以使用[self.navigationcontroller topViewController]顯示控制器。在rootViewController的shouldAutorotate中寫入「[topviewcontroller shouldAutorotate];」 –