苹果7解除自动旋转屏幕是反的?

这里收集了不少移动端上遇到的各类坑与相对解决方式javascript

尽管Javascript是可以在水果设备上运行的,但是用户仍是可以禁用。它也会形成client刷新和额外的传输数据。所下面面是服务器端侦測和转向:

手机浏览器也是浏览器,在ajax调用外部api的时候也存在跨域问题。

固然利用 PhoneGap 打包后,因为协议不同就不存在跨域问题了。


但页面一般是需要跟后端进行调试的。

这时候可以让后端加上两个http头

第一个头可以避免跨域问题。第二个头可以方便ajax请求设置content-type等配置项

这个会存在一些安全问题。可以參考这个问题的讨论

屏幕旋转示例.jpeg

前段时间抽空总结了一下iOS视频播放的基本用法,发现这其中还有一个我们无法绕过的问题,那就是播放界面的旋转与适配。的确,视频播放与游戏类型的App经常会遇到这个的问题。由于至今接手的项目中不常涉及这块知识疏于总结,在搜索了一些资料后也发现都很散乱,所以决定在这里重新整理一下。

  1. 两种屏幕旋转的触发方式
  2. 开启屏幕旋转的全局权限
  3. 开启屏幕旋转的局部权限(视图控制器)
  4. 实现需求:项目主要界面竖屏,部分界面横屏

一、最让人纠结的三种枚举

刚开始接触屏幕旋转这块知识的时候,最让人抓狂的也许就是三种相关的枚举类型了,它们就是:

正常情况下,我们的AppAppdelegate中启动,而Appdelegate所持有唯一的Window对象是全局的,所以在Appdelegate文件中设置屏幕旋转也是全局有效的。

下面的代码设置了只支持竖屏和右旋转:

需要注意:如果我们实现了Appdelegate的这一方法,那么我们的App的全局旋转设置将以这里的为准,即使前两种方法的设置与这里的不同。

五、开启屏幕旋转的局部权限(视图控制器)

在设置了全局所支持的旋转方向后,接着就开始设置具体的控制器界面了。我们在上面已经说明了关于旋转的优先级了。而这里主要涉及了三种视图控制器:

自全局权限开启之后,接下来具有最高权限的就是Window的根视图控制器rootViewController了。如果我们要具体控制单个界面UIViewController的旋转就必须先看一下根视图控制器的配置情况了;

比如说我们设置要单个视图控制器可以自动旋转,这需要在视图控制器中增加shouldAutorotate方法返回YES或者NO来控制。但如果存在上层根视图控制器,而我们只在这个视图控制器中实现方法,会发现这个方法是不走的,因为这个方法被上层根视图控制器拦截了;

理解这个原理后,我们有两种方法实现自动可控的旋转设置:

方法1:逐级设置各视图控制器,高优先级的视图控制器影响低优先级控制器,
//返回导航控制器的顶层视图控制器的自动旋转属性,因为导航控制器是以栈的原因叠加VC的

到这里,我们就应该明白了,其实就是高优先级的视图控制器要跟随低优先级控制器的旋转配置。这样就能够达到目的;

方法2: 另辟蹊径,使用模态视图

使用模态视图可以不受这种根视图控制器优先级的限制。这个也很容易理解,模态弹出的视图控制器是隔离出来的,不受根视图控制的影响。具体的设置和普通视图器代码相同,这里就不累述了;

六、实现需求:项目主要界面竖屏,部分界面横屏

这其实也是一个我们做屏幕旋转最常见的需求,在根据上面的讲述之后,我们实现这个需求会很容易,但是具体的实现却有着不同的思路,我在这里总结了两种方法:

方法1:使用基类控制器逐级控制
  1. 开启全局权限设置项目支持的旋转方向;
  2. 根据第五节中的方法1,自定义标签控制器和导航控制器来设置屏幕的自动旋转;
  3. 自定义基类控制器设置不支持自动转屏,并默认只支持竖屏;
  4. 对项目中需要转屏幕的控制器开启自动转屏、设置支持的旋转方向并设置默认方向;
  1. Applegate文件中增加一个用于记录当前屏幕是否横屏的属性;
  2. 需要横屏的界面,进入界面后强制横屏,离开界面时恢复竖屏;

七、默认横屏无效的问题

在上面的项目中,我们可能会遇到一个关于默认横屏的问题,把它拿出来细说一下。

我们项目中有支持竖屏的界面A,也有支持横竖屏的界面B,而且界面B需要进入时就显示横屏。从界面A界面B中,如果我们使用第五节中的方法1会遇到无法显示默认横屏的情况,因为没有旋转设备,shouldAutorotate就没被调用,也就没法显示我们需要的横屏。这里有两个解决方法:

方法1:在自定义导航控制器中增加以下方法

这个方法的缺点是,原理上利用弹出模态视图来调用转屏,造成切换界面的时候有闪烁效果,体验不佳。所以这里也只是提供一种思路,不推荐使用;

方法2:在需要默认横屏的界面里设置,进入时强制横屏,离开时强制竖屏

关于这种使用,这个具体可以参考第五节中的demo2

注意:两种方法不可同时使用

八、关于旋转后的适配问题

屏幕旋转的实现会带来相应的UI适配问题,我们需要针对不同方向下的界面重新调整视图布局。首先我们要能够监测到屏幕旋转事件,这里分为两种情况:

当发生转屏事件的时候,下面的UIViewControoller方法会监测到视图View的大小变化,从而帮助我们适配

从注释里可以看出此方法在屏幕旋转的时候被调用,我们使用时候也应该首先调用super方法,具体代码使用示例如下:

//屏幕旋转之后,屏幕的宽高互换,我们借此判断重新布局
 //横屏设置,为防止遮挡键盘,调整输入视图的高度

如果是类似于表视图的单元格,要监测到屏幕变化实现适配,我们需要用到layoutSubviews方法,因为屏幕切换横竖屏时会触发此方法,然后我们根据状态栏的位置就可以判断横竖屏了,代码示例如下:

//通过状态栏电池图标判断横竖屏

有时项目需要从App启动就默认是横屏,这里有个很方便的方法,就是我们在Device Orientation属性配置里设置如下:

但是只这样处理的话,会让项目只支持横屏,所以我们可以在Appdelegate里再次调整我们所支持的方向,方法已经说过,这里就不累述了;

关于屏幕旋转的使用大致总结到这里了,如果存在疏漏与错误欢迎路过的朋友指正!谢谢~

这段时间我们讨论了很多关于摄影的话题,比如如何在5分钟调色大片的技巧,也交流了一些关于日系小姐姐的写真的拍摄方法,包括关于写真照个人艺术照的拍摄方法,在前几天也给大家分享了手机摄影的全面教程等等相关的内容。那么今天我们就换个内容,不再讨论什么摄影技巧,来交流一下关于相机器材内部那些功能的使用方法,因为经常会有伙伴问:在摄影创作中如何设置自己的相机?关于相机的功能开或不开怎么判断?

其实我们现在越来越能感觉到随着技术进步,相机逐渐趋向于自动化和智能化。越来越多的机内设置提供了自动化的选项,也为我们拍摄创作的效果提供了相当丰富的预设,让我们的拍摄过程及创作难度变的越来越简洁越来高效。

但当我们使用了一段时间相机的自动化的功能后,你就会发现有一些自动化的选项有些过于“傻瓜和机械”,有的功能与预设甚至可能会干扰我们的拍摄。那这么多的自动化选项,究竟哪些是应该打开的,哪些是不应该打开的?接下来就FUN摄影小编和大家一起来梳理一下。

这个功能相信大家并不陌生,对我们摄影的作品有着绝对的影响,比如照片的色调色温等,所以这个肯定是需要打开的。选对正确的白平衡参数,可以让相机更好的还原现场的灯光、色彩。

比如准白平衡参数。但是在进行室内棚拍、或拍摄一些产品照时,为了产品保持原有的色彩效果,大家可以选择固定白平衡模式甚至是自定义白平衡。具体的操作需要我们自己不断的尝试和摸索。

2、自动动态范围:不同相机器牌可能叫法也不同,像尼康叫动态D-Lighting,索尼则叫做DRO

很多人不知道这个选项的作用,自动动态范围,其意思都是自动调整画面的动态范围,让高反差的照片也不至于过爆/欠曝。

如果你了解了这个功能作用,相信你在拍摄的时候,就一定会觉得这个功能比较好用,可以省去很多后期的功夫,FUN摄影也这样认为,所以一直会开启这个选项。毕竟我们眼睛的动态范围其实是要比相机更大的,打开这个选项更加能够还原我们所看到的场景。所以也建议大家可以尝试找到并打开这个选项。

3、自动包围曝光(亮度、白平衡):

这是一个比较难以理解并比较抽象的参数,包围曝光有很多的细分选项:像是亮度、白平衡、甚至在最新的相机上连焦点位置都可以实现自动多张包围。如果你用过早期的相机你就会发现想要拍摄-2EV、-1EV、0EV、 1EV、 2EV的5张照片包围,只能拍一张、拨动一下曝光补偿、再拍摄下一张,这样操作五次,一张张的拍,要经过一些时间才能创作完成。

但现在自动包围曝光,只需要我们把拍摄张数、曝光间距、张数设定好后,按下快门连续释放5次快门就可以快速实现。这一功能在实战中还是非常实用的,用到的时候的推荐使用。同时这个功能在HDR高清照片合成创作时,用起来是比较爽的。

4、自动回放:有助于我们快速预览拍摄后的效果

在摄影创作中,这个功能的使用率是比较高的,打开后,我们可以保证在平时的拍摄中第一时间确认曝光、构图、合焦情况等等。

不过也有需要关闭的时候,比如我们在拍摄体育、会议等快节奏、拍摄量较大的题材时,为了节约电池电量、保持专注,可以暂时关闭这个功能。

还有一种现象,比如在拍摄延时摄影的时候一定要关闭这一功能,因为延时摄影一拍就是成百上千张、几个小时起步,不关上这一功能,屏幕始终回放照片,电池的电量会迅速被消耗完。

5、一个可有可无的功能,竖拍图像自动旋转:

主要用于在拍横竖幅画面的时候,我们要以调整相机的横竖方向,来匹配照片的横竖效果。主要用在照片在回放时是否会转过来显示。这个问题无关紧要。

现在的相机基本上都配备有这个功能,主要是利用传感器震动、超声波除尘的技术原理;通常可以把自动清洁设置为只在关机时自动清洁,这样就可以够保证相机的传感器保持时刻干净的状态,同时在需要快速开机进入拍摄时,也不会因为开机自动清洁耽误时间,从而错失拍摄机会。所以要记住这个功能可以设置在关机时自动清洁。

7、自动ISO感光度:

这个功能不用多说了吧,自动感光度是一项非常实用的功能,配合光圈优先、快门优先,可以简化我们对于感光度调整的操作或是干脆不用调整,懒人模式可以打开。在需要使用低感光度长时间曝光的时候,再切换回来也可以。

这个小编曾在初学的时候开启过一段时间,因为是新手总会忘了快门速度,然后总会拍出太多的糊片。所以后来将快门设置了最低的快门速度,比如将1/100作为最低的安全快门。同时最低快门速度这一选项通常是用于光圈优先、自动感光度下拍摄使用的,从而避免因快门速度过慢造成手抖糊片。这是一个很方便的功能,推荐打开。

这个不知道有没有伙伴去钻研过,相机本身为我们提供了很多照片风格预设,当然大家可以理解为不同的滤镜:比如人像模式就是柔和一些;鲜艳模式就比较适合拍摄风光;而标准模式的特点就是没特点,通吃各种题材。

如果我们设置了自动照片风格,就是让相机根据我们拍摄的主题,然后由相机的AI算法来自动帮你选这几种滤镜,所以个人用的很少,不过建议大家平常使用标准风格,有强迫症的朋友可以根据主题变换自己的风格。最好的方式就是使用RAW格式拍摄,因为这样优化校准或者说是照片风格,都可以在后期重新选择。

本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击。

我要回帖

更多关于 iphone13怎么关闭屏幕旋转 的文章

 

随机推荐