精华内容
下载资源
问答
  • 苹果屏幕旋转怎么设置?在平常使用手机观看视频的时候,很多人希望手机屏幕可以自己旋转为横屏状态,在使用微信聊天的时候再自动转为竖屏,这种切换可以直接利用控制中心的一个功能来实现。 如何开启苹果手机屏幕...

    苹果屏幕旋转怎么设置?在平常使用手机观看视频的时候,很多人希望手机屏幕可以自己旋转为横屏状态,在使用微信聊天的时候再自动转为竖屏,这种切换可以直接利用控制中心的一个功能来实现。
    苹果屏幕旋转怎么设置
    如何开启苹果手机的屏幕旋转?首先我们需要打开苹果手机的控制中心,找到“锁定竖排方向”的按钮,确保该图标状态为黑底白字的样式时即开启了屏幕旋转。

    关闭竖排锁定
    如何关闭苹果手机的屏幕旋转?点击“锁定竖排方向”图标,当该图标为白底红字的样式时,屏幕将被锁定为竖排方向,我们无法完成屏幕的自动旋转。

    打开竖排锁定
    苹果屏幕旋转怎么设置?在使用这个功能的时候,大家需要注意,不是所有的应用和功能都支持横排显示,如果你发现某个应用不可以横排显示,可能只是它不支持这种展现形式。

    和苹果手机的屏幕旋转方式一样,iPad设备上的屏幕旋转也是利用“锁定竖排方向”功能来实现的,打开控制中心利用控制中心即可进行设置
    iPad
    如果确保自己的设置没有问题,应用也是支持横屏、竖屏两种展现形式,可以尝试以重启手机的方式来查看是否能解决。无法解决的话可以尝试备份手机数据更新系统,这可以排除系统版本产生bug。两种方法都试过了还是不行的话,建议联系苹果官方客服咨询一下解决的办法。

    关于苹果手机设置的一些小技巧先分享一点,如果想要了解更多手机技巧,可以查看更多的文章了解一下。

    展开全文
  • 手机怎么不能自动旋转屏幕了?

    千次阅读 2016-12-21 13:59:35
    有的手机需要开启自动旋转,比如360;设置–>屏幕和亮度–>开启自动旋转

    有的手机需要开启自动旋转,比如360;设置–>屏幕和亮度–>开启自动旋转

    展开全文
  • 这里, 咱们主要理清一下: 到底有哪些设置可以改变屏幕旋转特性. 这样: 出现任何问题我们都可以从这几个途径中发现原因.灵活应付产品经理的各种需求. 首先我们得知道: 当手机的重力感应打开的时候, 如果用户...

    改变Orientation的三种途径

    这里, 咱们主要理清一下: 到底有哪些设置可以改变屏幕旋转特性. 这样:

    • 出现任何问题我们都可以从这几个途径中发现原因.
    • 灵活应付产品经理的各种需求.

    首先我们得知道:

    1. 当手机的重力感应打开的时候, 如果用户旋转手机, 系统会抛发UIDeviceOrientationDidChangeNotification 事件.
    2. 您可以分别设置ApplicationUIViewcontroller支持的旋转方向.Application的设置会影响整个App, UIViewcontroller的设置仅仅会影响一个viewController(IOS5和IOS6有所不同,下面会详细解释).
    3. UIKit收到UIDeviceOrientationDidChangeNotification事件的时候, 会根据ApplicationUIViewcontroller的设置, 如果双方都支持此方向, 则会自动屏幕旋转到这个方向. 更code的表达就是, 会对两个设置求,得到可以支持的方向. 如果求之后,没有任何可支持的方向, 则会抛发UIApplicationInvalidInterfaceOrientationException异常.



    Info.plist设置

    在App的Info.plist里设置:

    key xcode name Summary avilable value
    UIInterfaceOrientation initial interface orientation Specifies the initial orientation of the app’s user interface. UIInterfaceOrientationPortrait,
    UIInterfaceOrientationPortraitUpsideDown,
    UIInterfaceOrientationLandscapeLeft,
    UIInterfaceOrientationLandscapeRight
    UISupportedInterfaceOrientations Supported interface orientations Specifies the orientations that the app supports. UIInterfaceOrientationPortrait,
    UIInterfaceOrientationPortraitUpsideDown,
    UIInterfaceOrientationLandscapeLeft,
    UIInterfaceOrientationLandscapeRight

    在Info.plist中设置之后,这个app里所有的viewController支持的自动旋转方向都只能是app支持的方向的子集.



    UIViewController

    IOS6 and above

    supportedInterfaceOrientations

    在IOS6及以上的版本中, 增添了方法UIViewController.supportedInterfaceOrientations. 此方法返回当前viewController支持的方向. 但是, 只有两种情况下此方法才会生效:

    1. 当前viewControllerwindowrootViewController.
    2. 当前viewControllermodal模式的. 即, 此viewController是被调用presentModalViewController而显示出来的.

    在以上两种情况中,UIViewController.supportedInterfaceOrientations方法会作用于当前viewController和所有childViewController. 以上两种情况之外, UIKit并不会理会你的supportedInterfaceOrientations方法.

    举个栗子:

    - (NSUInteger)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
    }
    

    如果某个viewController实现了以上方法. 则, 此viewController就支持竖方向和左旋转方向. 此viewController的所有childViewController也同时支持这两个方向, 不多不少.

    preferredInterfaceOrientationForPresentation

    此方法也属于UIViewController. 影响当前viewController的初始显示方向. 此方法也仅有在当前viewControllerrootViewController或者是modal模式时才生效.

    shouldAutorotate

    此方法,用于设置当前viewController是否支持自动旋转. 如果,你需要viewController暂停自动旋转一小会儿. 那么可以通过这个方法来实现.同样的, 此方法也仅有在当前viewControllerrootViewController或者是modal模式时才生效.

    IOS5 and before

    在IOS5和以前的版本中, 每个viewController都可以指定自己可自动旋转的方向.(这样不是挺好么?苹果那帮工程师为啥要搞成这样...).
    每当UIkit收到UIDeviceOrientationDidChangeNotification消息的时候, 就会用以下方法询问当前显示的viewController支不支持此方向:

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation
    {
       if ((orientation == UIInterfaceOrientationPortrait) ||
           (orientation == UIInterfaceOrientationLandscapeLeft))
          return YES;
    
       return NO;
    }
    

    特别要注意的是:你必须至少要对一个方向返回YES.(为难系统总不会有啥好事儿,你懂得).



    UIView.transform

    最后一个方法是设置UIViewtransform属性来强制旋转. 
    见下代码:

    //设置statusBar
    [[UIApplication sharedApplication] setStatusBarOrientation:orientation];
    
    //计算旋转角度
    float arch;
    if (orientation == UIInterfaceOrientationLandscapeLeft)
        arch = -M_PI_2;
    else if (orientation == UIInterfaceOrientationLandscapeRight)
        arch = M_PI_2;
    else
        arch = 0;
    
    //对navigationController.view 进行强制旋转
    self.navigationController.view.transform = CGAffineTransformMakeRotation(arch);
    self.navigationController.view.bounds = UIInterfaceOrientationIsLandscape(orientation) ? CGRectMake(0, 0, SCREEN_HEIGHT, SCREEN_WIDTH) : initialBounds;
    

    需要注意的是:

    1. 当然我们可以对当前viewController进行旋转, 对任何view旋转都可以.但是, 你会发现navigationBar还横在那里. 所以, 我们最好对一个占满全屏的view进行旋转. 在这里我们旋转的对象是self.navigationController.view, 当然self.window也可以, help yourself~
    2. 我们需要显式的设置boundsUIKit并不知道你偷偷摸摸干了这些事情, 所以没法帮你自动设置.


    如何应付产品经理的需求

    有了以上三把武器, 我想基本可以应付BT产品经理所有的需求了. 但是这里还有一些小技巧.

    直接锁死

    (略)

    随系统旋转

    IOS5及之前

    对于IOS5及之前的版本, 只要在对每个viewController重写shouldAutorotateToInterfaceOrientation方法, 即可方便的控制每个viewController的方向.

    IOS6及以后

    对于IOS6及以后的版本, 如果想方便的单独控制每个viewController的方向. 则可以使用这样:

    • 对于非modal模式的viewController:

      • 如果不是rootViewController,则重写supportedInterfaceOrientations,preferredInterfaceOrientationForPresentation以及shouldAutorotate方法, 按照当前viewController的需要返回响应的值.
      • 如果是rootViewController,则如下重写方法:
    -(NSUInteger)supportedInterfaceOrientations
    {
        return self.topMostViewController.supportedInterfaceOrientations;
    }
    -(BOOL)shouldAutorotate
    {
        return [self.topMostViewController shouldAutorotate];
    }
    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
    {
        return [self.topMostViewController preferredInterfaceOrientationForPresentation];
    }
    -(UIViewController*)topMostViewController
    {
        //找到当前正在显示的viewController并返回.
    }
    

    显而易见, 我们巧妙的绕开了UIKit只调用rootViewController的方法的规则. 把决定权交给了当前正在显示的viewController.

    • 对于modal模式的viewController. 则按照需要重写supportedInterfaceOrientations,preferredInterfaceOrientationForPresentation以及shouldAutorotate方法即可.

    强制旋转

    有时候, 需要不随系统旋转, 而是强制旋转到某一个角度. 最典型的场景就是视频播放器, 当点击了全屏按钮的时候, 需要横过来显示.

    • 对于IOS5及以前的版本, 可以用下面的方法:
    if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {
        SEL selector = NSSelectorFromString(@"setOrientation:");
        NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];
        [invocation setSelector:selector];
        [invocation setTarget:[UIDevice currentDevice]];
        int val = UIInterfaceOrientationLandscapeRight;
        [invocation setArgument:&val atIndex:2];
        [invocation invoke];
    }
    
    • 对于IOS6及以后的版本. UIDevice.setOrientation从隐藏变为移除.只能通过设置UIView.transform的方法来实现.



    参考资料

    展开全文
  • 手机由竖屏切换成横屏时我们通常需要调整程序的UI布局以适应屏幕; 或者更进一步当手机的方向发生变化时,如果我们也想让程序的UI随之改变该怎么做呢?那么本文就为大家介绍一种思路。 使用sensor感知方向...

    引言

    当手机由竖屏切换成横屏时我们通常需要调整程序的UI布局以适应屏幕; 或者更进一步当手机的方向发生变化时,如果我们也想让程序的UI随之改变该怎么做呢?那么本文就为大家介绍一种思路。


    使用sensor感知方向变化

    现在QML中已经可以直接使用Sensor了,不需要我们自己再通过c++代码的方式间接访问。我们获得当前手机方向信息后,就把当前状态设置为对应状态,而后我吗就可以根据不同的状态进行布局了。

    OrientationSensor {
            id: orientation
            active: true
    
            onReadingChanged: {
                if (reading.orientation == OrientationReading.TopUp)
                    content.state = "TopUp";
                else if (reading.orientation == OrientationReading.TopDown)
                    content.state = "TopDown";
                else if (reading.orientation == OrientationReading.LeftUp)
                    content.state = "LeftUp";
                else if (reading.orientation == OrientationReading.RightUp)
                    content.state = "RightUp";
                else if (reading.orientation == OrientationReading.FaceUp)
                    content.state = "FaceUp";
                else if (reading.orientation == OrientationReading.FaceDown)
                    content.state = "FaceDown";
                else
                    content.state = "";
            }
        }


    切换布局

    根据状态设置每一个矩形的宽度,从而适应屏幕的变化。

    Flow {
                anchors.top: parent.top
                anchors.left: parent.left
                anchors.right: parent.right
                anchors.margins: 10
                spacing: 4
                Rectangle {
                    width: (content.state == "LeftUp" || content.state == "RightUp") ? (parent.width-8)/3 : (parent.width-4)/2
                    height: 60
                    color: "yellow"
                    Text {
                        text: "1"
                        color: "black"
                        font.pointSize: 10
                        anchors.centerIn: parent
                    }
                }
    // ...以下省略


    程序截图

    展开全文
  • 在android上用opencv做一个...不用在AndroidManifest.xml中配置android:screenOrientation="landscape"设置屏幕方向这个方法,别的方法怎么实现。网上也有说camera.setsetDisplayOrientation(90),但是使用OpenCV不知道
  • 如图所示,第一个是竖向,第二个是竖向倒过来,第三个右横,第四左横,最后一个是自动旋转就是根据你的手机旋转了。 //下面代码将屏幕的方向设置为横向显示 Screen.orientation = ScreenOrientation....
  • 关于自定义相机预览界面拉伸问题 1、导致主要变形的原因是Camera预览界面旋转的角度和摄像头挂载的角度不同导致的 ...怎么设置预览界面与实景保持一致的方法,官方给出的文档: public static void setCa
  • Android 在屏幕旋转时,会销毁视图和 Activity 并重建,此时如何保存视图状态和已加载的数据、正在进行的网络请求即是问题。 Android 对部分视图状态提供了自动保存恢复,而豆芽对于其他需要保存的状态则通过自定义...
  • Android 在屏幕旋转时,会销毁视图和 Activity 并重建,此时如何保存视图状态和已加载的数据、正在进行的网络请求即是问题。 Android 对部分视图状态提供了自动保存恢复,而豆芽对于其他需要保存的状态则通过自定义...
  • ios开发记录

    2015-08-06 23:12:11
    //有交叉就怎么怎么样 //Activity 活动 Indicator指示器 // UIActivityIndicatorView *ai = [[UIActivityIndicatorView alloc] init]; // ai.activityIndicatorViewStyle = ...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了 43 家。 移动手机联盟创始成员: Aplix 、 Ascender 、 Audience 、 Broadcom 、中国移动、 eBay 、 Esmertec 、谷歌、...
  • AirPlayer录屏大师

    2018-12-14 09:28:54
    苹果录屏大师(AirPlayer)是一款很实用的工具,苹果录屏大师(AirPlayer)操作简单,功能强大,能够将苹果手机设备中的视频、游戏、照片等内容投射到电脑电视屏幕上,只需通过WiFi就能够让用户体验到更好的视频、音乐...
  • vc++ 开发实例源码包

    2014-12-16 11:25:17
    SettingDlg.h 设置对话框类文件 LocalInfoDlg.h 查看本地信息对话框类文件 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 如题。 FTP、HTTP 多线程断点续传下载文件 源码 如题。 gdiplus应用实例 如...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 ...
  • 09-屏幕方向设置 10-自定义UI样式 11-多语言及修改文字信息 12-配置ImageEngine,支持所有图片加载库 QQ交流群:288600953 感谢 PhotoView:一个强大的图片缩放库,由chrisbanes 大神编写 PuzzleView:一个强大的...
  • 转来备用,以后慢慢学

    2010-05-21 14:14:33
    怎么恢复到默认值呀?试着轻轻点按选项栏上的工具图标,然后从上下文菜单中选取“复位工具”或者“复位所有工具”。¬  7. 自由控制大小¬  缩放工具的快捷键为“Z”,此外“Ctrl+空格键”为放大工具,“Alt+...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

手机旋转屏幕怎么设置