`

ios 按键横竖屏设置

 
阅读更多

 

 

手动设置竖屏:修改currentDevice orientation需要在setStatusBarOrientation前

 

            bool IsIOS8 = NO;
            float version = [[[UIDevice currentDevice] systemVersion] floatValue];
            if (version >= 8.0)
            {
                IsIOS8 = YES;
            }
            
            //改设备方向
            //if (IsIOS8) {
                [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationPortrait] forKey:@"orientation"];
            //}
            [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:NO];

 

UIApplication需要实现方法或者监听UIApplicaionDelegate委托回调

 

方法 1)UIApplication需要实现

-(NSUInteger)supportedInterfaceOrientations {
    UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation];
    UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation;
    if(deviceOrientation == UIDeviceOrientationPortrait || deviceOrientation == UIDeviceOrientationPortraitUpsideDown){
        if(statusBarOrientation != UIInterfaceOrientationPortrait ||statusBarOrientation != UIInterfaceOrientationPortraitUpsideDown){
            return 0;
        }
    }
    // otherwise
    return UIInterfaceOrientationMaskLandscape;
}

 

 方法 2)UIApplicaionDelegate委托接口

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation];
    UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation;
    if(deviceOrientation == UIDeviceOrientationPortrait || deviceOrientation == UIDeviceOrientationPortraitUpsideDown){
        if(statusBarOrientation != UIInterfaceOrientationPortrait ||statusBarOrientation != UIInterfaceOrientationPortraitUpsideDown){
            return 0;
        }
    }
    // otherwise
    return UIInterfaceOrientationMaskLandscape;
    
    // UIInterfaceOrientationMaskAll
    // it is the safest way of doing it:
    // - GameCenter and some other services might have portrait-only variant
    //     and will throw exception if portrait is not supported here
    // - When you change allowed orientations if you end up forbidding current one
    //     exception will be thrown
    // Anyway this is intersected with values provided from UIViewController, so we are good
    //return   (1 << UIInterfaceOrientationPortrait) | (1 << UIInterfaceOrientationPortraitUpsideDown)
    //| (1 << UIInterfaceOrientationLandscapeRight) | (1 << UIInterfaceOrientationLandscapeLeft);
}

 

 

 

 

分享到:
评论

相关推荐

    iOS Object-c 实现界面横竖屏切换源代码

    iOS系统提供了两种基本的屏幕方向:portrait(竖屏)和landscape(横屏)。每个应用都有一个或多个界面,这些界面可能需要根据设备的物理方向来动态调整布局。在iOS中,我们主要通过以下几种方式来处理屏幕方向的...

    swift-这是一个iOS中播放器横竖屏切换的demo

    这个“swift-这是一个iOS中播放器横竖屏切换的demo”展示了如何在iOS应用中实现播放器的屏幕方向动态切换,以适应用户在不同场景下的观看习惯。 首先,我们要了解iOS中的屏幕方向管理。在iOS系统中,屏幕方向是由`...

    ios-iOS横竖屏切换.zip

    在iOS开发中,横竖屏切换是一个常见的需求,特别是在创建多媒体应用或游戏时。这个名为"ios-iOS横竖屏切换.zip"的压缩包显然包含了关于如何在iOS应用中实现横竖屏切换的示例代码,名为"RotateDemo"。让我们深入探讨...

    iOS 视频播放 横竖屏切换

    最近研究了一下关于视频播放的东西,之前都是加载网页或者用MPMoviePlayerViewController直接弹出播放,横竖屏的切换都是通过手机自带的竖屏开关设置实现的,所以用户体验并不是太好,这里的demo在不通过横竖屏开关...

    IOS横竖屏切换的例子

    IOS横竖屏切换的demo,供初学IOS小伙伴参考

    iOS按键音效.zip

    最后,通过上述讨论,我们可以看出,iOS按键音效不仅仅是一种简单的用户界面元素,它是用户体验设计中的一项重要资产。它既提升了用户操作的感知度,又增加了使用的乐趣。无论是普通用户还是开发者,深入理解和运用...

    iOS视频全屏时锁定横竖

    总的来说,iOS视频全屏时锁定横竖涉及到的关键技术包括:`UIDevice`的屏幕方向检测、`Info.plist`的设置、`UIInterfaceOrientation`枚举的使用、以及`AVPlayerViewControllerDelegate`协议的实现。通过这些手段,...

    ZSFakeTouch iOS模拟点击屏幕

    iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作

    PTFakeTouchDemo iOS模拟点击屏幕例子

    iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟点击屏幕,自动化脚本,点击手势等模拟操作 iOS模拟...

    横竖屏显示IOS例子程序

    通过研究和理解TestDemo的源码,开发者不仅可以学会如何在iOS应用中处理横竖屏切换,还能深入理解屏幕方向管理的机制,为自己的应用打造更加灵活和适应性的界面体验。同时,这也是提升iOS开发技能的好机会,因为良好...

    手机横竖屏切换事件

    //屏幕方向标识,0横屏,其他值竖屏 var orientation=0; //转屏事件,内部功能可以自定义 function screenOrientationEvent(){ if(orientation == 0)document.getElementById("change").value="竖"; else document...

    coocs 横竖屏切换

    而在iOS平台上,可以通过调用AppController类中的changeOrientationH方法来实现横竖屏切换。对于Android,根据CCC版本和API的差异,可能需要调用不同的native方法来实现。 最后,值得一提的是,CCC框架不断更新改进...

    ios拨号按键钢琴音

    总的来说,“ios拨号按键钢琴音”是一个创新的个性化设置,让日常的拨号操作变得更有乐趣。然而,它需要用户对越狱的风险有所了解,并愿意接受可能带来的不便。对于那些追求独特体验和技术探索的用户来说,这是一个...

    ios按键脚本

    在iOS系统中,按键脚本通常指的是自动化工具或编程脚本,用于模拟用户与设备的交互,例如点击、滑动、输入等操作。这些脚本可以极大地提高开发者的效率,尤其是在进行UI测试或者重复性任务时。下面我们将深入探讨iOS...

    横竖屏加载

    横竖屏加载是移动应用开发中的一个重要话题,尤其是在Android和iOS平台上。当用户在使用手机或平板设备时,他们的设备可能会在横屏和竖屏之间切换,因此开发者需要确保应用程序在不同屏幕方向下都能正常运行并提供...

    iOS横竖屏旋转内容总结

    iOS 横竖屏旋转是移动应用开发中一个非常重要的内容,任何一个 iOS 应用程序都需要考虑屏幕旋转问题,以确保应用程序在不同方向下的正确显示。下面是 iOS 横竖屏旋转的相关知识点总结。 一、前言 在 iOS 开发中,...

    ios-某个界面横竖屏转化以及强制横屏,其他界面只能竖屏.zip

    首先,iOS系统提供了两种屏幕方向:Portrait(竖屏)和Landscape(横屏)。默认情况下,所有iOS应用都会支持这两种方向,但开发者可以根据需要进行自定义。在项目中,我们可能会遇到一些界面设计上更适合横屏展示,...

    iOS页面亮度高亮,跳转到二维码页面屏幕变亮,退出恢复系统亮度,以及按”Home“键后通过系统代理设置系统的亮度

    在iOS开发中,为了优化用户体验,特别是在涉及到扫描二维码或显示重要内容的场景,我们有时需要临时调整设备的屏幕亮度。这个过程通常包括两个关键步骤:提高屏幕亮度和在适当的时候恢复原始亮度。标题和描述中提到...

    二维码扫描修改横竖屏切换后的好用代码

    标题提到的"二维码扫描修改横竖屏切换后的好用代码"主要关注的是如何在屏幕旋转时保持二维码扫描功能的稳定性和用户体验。以下是一些相关的关键知识点: 1. **二维码扫描库**:在Android中,常用的二维码扫描库有...

    iOS 单个控制器横屏

    下面我们将深入探讨这个主题,讲解如何在iOS中处理屏幕方向变化,以及实现视频播放与横竖屏布局的互动。 首先,我们需要了解iOS系统对屏幕方向的支持。默认情况下,iOS应用通常仅支持设备的 portrait(竖屏)模式。...

Global site tag (gtag.js) - Google Analytics