2014-04-01 80 views
0

我有以下ViewControllers:縱向在一個視圖中控制器和在另一個橫向

InformationViewController和cardViewController。

我如何確保informationViewController處於縱向模式並且不能旋轉。

然後cardViewController應該處於橫向模式,不能旋轉。

我如何在每個viewController中實現這一點。我在那一刻被激活寫真,風景權和一般

+1

雖然下面的一些答案可以幫助您回答這個問題,但我只是提供友好的提醒,表明這種情況違反了用戶界面的建議。它提供了糟糕的用戶體驗來強制用戶在視圖之間旋轉設備,除非有非常明確和明確的需求。雖然您可以有效地使用它,但重新考慮用例並確定您是否真的需要這樣做。 – mrosales

回答

0

在信息視圖控制器

- (BOOL)shouldAutorotate 

{ 

    return YES; 
} 


- (NSUInteger)supportedInterfaceOrientations 

{ 

    return UIInterfaceOrientationMaskPortrait; 
} 

,並在卡片視圖控制器

- (BOOL)shouldAutorotate 

{ 

    return YES; 
} 


- (NSUInteger)supportedInterfaceOrientations 

{ 

    return UIInterfaceOrientationMaskLandscape; 
} 

注:請務必在項目一般設定打勾設備取向的縱向和橫向模式(部署信息)

0

留在informationViewController:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

在cardViewController:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationLandscape); 
} 
+0

是的,這會阻止視圖控制器旋轉到「禁止」方向。但是當它們中的一個被推倒在另一個或後來的後面時,它不會使設備旋轉視圖。 –

0

看一看我回答這個問題: Force controllers to Change their orientation in Either Portrait or Landscape

(但不要使用不贊成使用的方法,有更新的方法可以使用它們)

將視圖控制器限制在某些方向很容易。但看到如何強制設備實際旋轉的另一個答案。 沒有這種把戲:如果只有縱向視圖控制器在設備處於橫向時變得可見,那麼無論您如何限制其支持的方向,它都將以橫向顯示。

相關問題