经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
Sagit.Framework For IOS 开发框架入门教程16:屏幕旋转、屏幕强制旋转功能。
来源:cnblogs  作者:路过秋天  时间:2020/11/9 16:00:56  对本文有异议

前言:

框架对屏蔽旋转做了很全面的封装处理,本篇来介绍一下使用屏幕旋转的相关功能。

屏幕旋转的相关方法定义:

  1. #pragma mark 屏幕旋转
  2. //!屏幕旋转事件:【 return true 系统调用刷新布局([self.view refleshLayoutAfterRotate];);return false 用户自己手动控制】 @isEventRotate 是旋转屏幕、还是点击事件触发。
  3. typedef BOOL(^OnRotate)(NSNotification* notify,BOOL isEventRotate);
  4. //!屏幕旋转事件。
  5. @property (nonatomic,assign) OnRotate onDeviceRotate;
  6. //!设置当前视图支持的屏幕旋转方向
  7. -(void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)orientation;//!手动调用旋转屏幕。
  8. -(STController*)rotateOrientation:(UIInterfaceOrientation)direction;

下面介绍具体的使用:

1、【手动】设置屏幕【默认】的旋转

  1. -(void)onInit
  2. {
  3. [self rotateOrientation:UIInterfaceOrientationLandscapeRight];//设置旋转方向。
  4. }

在初始化的地方,设置旋转,进入到该界面时,屏幕会自动旋转。

 

2、【允许】系统自动的屏幕旋转

  1. -(void)onInit
  2. {
  3. [self rotateOrientation:UIInterfaceOrientationLandscapeRight];//设置默认方向。
  4. self.onDeviceRotate = ^BOOL(NSNotification *notify,BOOL isEventRotate) {
  5. //返回true允许旋转布局、false不允许旋转布局。
  6. return true;
  7. };
  8. }

设置onDeviceRote属性后,可以除了可以控制系统屏蔽旋转,连手工旋转的也可以拦截。

3、设置【允许】系统自动旋转的方向。

  1. -(void)onInit
  2. {
  3. [self rotateOrientation:UIInterfaceOrientationLandscapeRight];
  4. [self setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];
  5. self.onDeviceRotate = ^BOOL(NSNotification *notify,BOOL isEventRotate) {
  6. return true;
  7. };
  8. }

PS:

1、手工旋转的,不受支持的方向的约束。

2、设置支持的旋转方向,只能约束系统自动旋转手机产生的事件。 

原文链接:http://www.cnblogs.com/cyq1162/p/13669370.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号