回答
取決於當你想做出反應:
如果旋轉從UIViewController中之前,覆蓋:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
// do something before rotation
}
如果你想旋轉後執行的東西:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
// do something after rotation
}
參考:
willRotateToInterfaceOrientation:是你可能看方法。閱讀那一篇。
UIViewController
s在輪換之前發送willRotateToInterfaceOrientation:duration:
,輪轉之後發送didRotateFromInterfaceOrientation:
。
要配置其他動畫,請使用willAnimateRotationToInterfaceOrientation:duration:
或willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:
,didAnimateFirstHalfOfRotationToInterfaceOrientation:
和willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:
。後者用於兩步動畫,當您將頁眉或頁腳視圖移出主屏幕時,您通常會使用這些動畫。
帖子UIDeviceOrientationDidChangeNotification
UIApplication
帖子UIApplicationWillChangeStatusBarOrientationNotification
和UIApplicationDidChangeStatusBarOrientationNotification
,每種相關的委託回調。
UIViewController
接收如果視圖控制器是由一個窗口管理控制器層次結構中的UIDevice通知觸發幾個方向相關的調用。
如果你已經在使用一個UIViewController,實現一些的方向相關的方法,否則報名參加的UIDevice通知。最重要的UIViewController方法是shouldAutorotateToInterfaceOrientation
因爲如果回報NO
別人不叫。
棄用我寧願作爲觀察者以接收所述取向通知進行註冊。所以我投了這個答案。 – AechoLiu 2010-11-29 10:18:21
我的沙盒應用: https://github.com/comonitos/programatical_device_orientation
的解決方案是簡單:
接口(H文件):
BOOL rotated;
在執行(M檔):
改寫
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 返回旋轉; }
2調用[自我設置]
-(void) setup
{
rotated = YES;
[[UIDevice currentDevice] setOrientation:UIDeviceOrientationLandscapeLeft];
rotated = NO;
}
只需使用此代碼段檢查方向變化。
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
if UIDevice.currentDevice().orientation.isLandscape.boolValue {
print("Landscape")
} else {
print("Portrait")
}
}
- 1. 通過方法更改變量
- 2. 通過不同的方法改變和使用變量
- 3. UiButton通過編程方式不改變位置ios
- 4. 修改屬性的值通過方法
- 5. 通過方法
- 6. 改變通過javascript加載的部件顏色的方法
- 7. 把定位後的方法理想的地方已經改變
- 8. 通過使用方法名稱中的變量調用方法?
- 9. 通過另一種方法獲取方法的局部變量
- 10. 通過一種方法調用可變數量的方法
- 11. UIScrollView在方位改變後的位置
- 12. 如何通過方法更改值?
- 13. 通過繼承更改方法參數
- 14. 變通方法GridView.scrollTo()?
- 15. 通過引用變量調用方法
- 16. AngularJS $ resource - 通過變量調用方法?
- 17. Laravel方法獲得通過可變
- 18. C#通過變量引用方法?
- 19. 方法不改變變量
- 20. 改變變量,GET方法
- 21. NSURLConnection方法需要改變,以通過身份驗證挑戰
- 22. 通過非靜態方法更改公共靜態變量
- 23. 通過方法改變WCF安全角色/聲明參數
- 24. 通過更改最終靜態變量來測試方法
- 25. 通過POST方法
- 26. 通過OpenReadAsync方法
- 27. 通過on_change方法
- 28. Python的方法改變
- 29. prototypejs改變jQuery的方法
- 30. 如何改變的方法
這些方法已被棄用。 – 2015-01-01 12:50:19
在IOS 8.0 – onmyway133 2016-07-25 19:29:31