·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> 【iOS】屏幕旋转,屏幕自适应方向变化

【iOS】屏幕旋转,屏幕自适应方向变化

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

1. iOS有四个方向的旋转,为了保证自己的代码能够支持旋转,我们必须首先处理一个函数:

Objective-c代码  收藏代码
  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {  
  2.   
  3.     return YES;  
  4. }  
 

2. 这个函数时用来确定我们的应用所支持的旋转方向。如果想要支持每个方向则直接返回YES就行,还可以单独判断某一方向:

 

Objective-c代码  收藏代码
  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {  
  2.   
  3.     if (interfaceOrientation==UIInterfaceOrientationLandscapeLeft) {  
  4.   
  5.         //left  
  6.   
  7.     }  
  8.   
  9.     if (interfaceOrientation==UIInterfaceOrientationLandscapeRight) {  
  10.   
  11.         //right  
  12.   
  13.     }  
  14.   
  15.     if (interfaceOrientation==UIInterfaceOrientationPortrait) {  
  16.   
  17.         //up  
  18.   
  19.     }  
  20.   
  21.     if (interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown) {  
  22.   
  23.         //down  
  24.   
  25.     }  
  26.   
  27.     return YES;  
  28. }  
   

3. 当然旋转还有一些函数可触发:

Objective-c代码  收藏代码
  1. //旋转方向发生改变时  
  2.   
  3. -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {  
  4. }  
  5. //视图旋转动画前一半发生之前自动调用  
  6.   
  7. -(void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {  
  8. }  
  9. //视图旋转动画后一半发生之前自动调用  
  10.   
  11. -(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration {  
  12. }  
  13. //视图旋转之前自动调用  
  14.   
  15. -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {  
  16. }  
  17. //视图旋转完成之后自动调用  
  18.   
  19. -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {  
  20. }  
  21. //视图旋转动画前一半发生之后自动调用  
  22.   
  23. -(void)didAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {  
  24. }