將該溶液介紹如何控制對單個視圖控制器取向,只要它們是由導航控制器管理。
在Xcode中5,創建類型的新文件「的Objective-C類」,設置它的「類別」爲「旋轉」,然後選擇「UINavigationController的」作爲「類別的」。
一個新的文件夫婦將出現在項目中,具有以下名稱: 的UINavigationController + rotation.h 的UINavigationController + rotation.m
在.m文件,寫入以下代碼:
- (BOOL) shouldAutorotate
{
return [[self topViewController] shouldAutorotate];
}
- (NSUInteger) supportedInterfaceOrientations
{
return [[self topViewController] supportedInterfaceOrientations];
}
這樣,導航控制器將讓當前頂視圖控制器確定方向策略。
然後,在由導航控制器管理的每個特定視圖控制器,你可以覆蓋兩個方向相關的方法。
舉例來說,如果一個特定的視圖控制器應僅在縱向顯示:
- (BOOL) shouldAutorotate
{
return NO;
}
- (NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
確保所期望的方向是那些在項目部署信息集之一。 希望這是足夠詳細的,可以幫助。
是否可以添加一些代碼來顯示您的解決方案? – rkh
@rkh你需要編寫一個覆蓋一個函數的子類的代碼? –
不,我只是想解釋你的解決方案,維克多「在代碼」,因爲他似乎是一個新的用戶......我很好:) – rkh