iPhone开发之在应用中从竖屏模式强制转换为横屏模式

1.强制横屏模式,百度上找到很多方法,但是真正能用到项目上的却少之又少,有的是iOS版本太低的时候出的,过时了;有的方法被Apple官方私有化了。

2.开发工具设置

3.代码实现的两种方法

(1) 此方法已经被Apple官方私有化,不能通过审核,但是用来实现简易测试非常方便

1 [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:NO];

(2)直接书写会出现报错,需要巧妙的转化绕过

1    if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {
2         [[UIDevice currentDevice] performSelector:@selector(setOrientation:)withObject:(id)UIInterfaceOrientationLandscapeRight];
3     }

==>>转化后

1   if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {
2         SEL selector = NSSelectorFromString(@"setOrientation:");
3         NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];
4         [invocation setSelector:selector];
5         [invocation setTarget:[UIDevice currentDevice]];
6         int val = UIInterfaceOrientationLandscapeRight;
7         [invocation setArgument:&val atIndex:2];
8         [invocation invoke];
9     }

(3)关于NSInvocation有待进一步学习补充

时间: 2024-10-01 02:48:33

iPhone开发之在应用中从竖屏模式强制转换为横屏模式的相关文章

IOS 应用中从竖屏模式强制转换为横屏模式

在 iPhone 应用里,有时我们想强行把显示模式从纵屏改为横屏(反之亦然),CocoaChina 会员 "alienblue" 为我们提供了两种思路 第一种:通过人为的办法改变view.transform的属性. 具体办法: view.transform一般是View的旋转,拉伸移动等属性,类似view.layer.transform,区别在于View.transform是二维的,也就是使用仿射的办法通常就是带有前缀CGAffineTransform的类(可以到API文档里面搜索这个

iphone开发数组排序(数组中包括字典)

原文地址 http://blog.csdn.net/bihailantian1988/article/details/8433812 iphone开发数组排序(数组中包括字典) 1.普通数组排序: NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"0",@"8",@"6",@"1",nil]; NSArray *sortedArray = [arr sortedA

IOS竖屏应用单个页面横屏的解决办法

昨天朋友问我,怎么实现在竖屏的应用里,显示一个横屏的应用,由于也没做过 就说不知道了,但是我觉得会有这样的API ,因为我手机里就安装有这种类型的软件 今天早上起来,就想做一个Dome出来,惯例的是查找资料,测试是否可以使用,但是 查找了都写的不是很清楚,很容易造成没法实现想要的效果,所以想重新写过一个 希望能帮到有这个需求的朋友.(这个没什么经验,的是照着网上的资料拼凑起来, 如果有错误,请见谅,有更好的办法也可以告诉我) 实现的效果: 页面大部分是竖屏,个别页面可以旋转手机时页面变为横屏(其

iPhone开发--正则表达式获取字符串中的内容

缘起: 想获取字符串中指定的字符,考虑用正则表达式,遂写了如下的代码: [cpp] view plaincopy NSString *htmlStr = @"oauth_token=1a1de4ed4fca40599c5e5cfe0f4fba97&oauth_token_secret=3118a84ad910967990ba50f5649632fa&name=foolshit"; NSString *regexString = @"oauth_token=(\

ios开发数组排序(数组中包括字典)

iphone开发数组排序(数组中包括字典) 1.普通数组排序: NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"0",@"8",@"6",@"1",nil]; NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){ if ([obj

图解iPhone开发新手教程

如今的智能手机越来越风行了,当中尤以Apple的iPhone和Google的Android系统最为流行,这里我将向大家介绍iPhone开发的基础知识.为了便于刚開始学习的人尽快上手,我尽量以代码加截图的方式加以说明. 要想进行iPhone开发,Mac和iPhone是不可缺少的,尽管有人通过一些手段也能在pc上装上Mac,使用上“黑苹果”,但毕竟不是正统,常常会出现这样那样的问题,比方无线不行,声卡不行之类的问题,因此Mac不妨要有的:至于iPhone,尽管能够通过模拟器在电脑上查看程序的执行效果

Unity3D开发安卓应用如何设置横屏显示和竖屏显示

说起 Unity3D 开发安卓应用设置屏幕方向,大家肯定都知道在发布的时候可以设置,也就是在下图所示的位置设置,分别表示:正向竖屏显示.倒向竖屏显示.右横屏显示.左横屏显示.跟随手机自动旋转.图一是设置屏幕显示的正方向,图二是设置允许显示的方向. 而且网上基本上也都是介绍的这种办法.这种方法有个弊端,就是设置了横屏或者竖屏后,那么应用在运行过程中,就是永远是横屏或者竖屏显示,无法更改. 博主我这次在开发项目中,拿到的需求是有些场景下横屏显示,有些场景下竖屏显示,这就太尴尬了,用上面的方法根本行不

CSS3判断手机横屏竖屏

原理: 当用户旋转屏幕的时候,会进入到你的监听方法中,然后通过window.orientation来获取当前屏幕的状态:0 - 竖屏90 - 逆时针旋转横屏-90 - 顺时针旋转横屏180 - 竖屏,上下颠倒 如果你不希望用户使用横屏方式查看你的网页,你可以在设备旋转时间监听里面对body使用CSS3里面的transition中的旋转来保持页面竖向. 移动设备上的页面,当屏幕旋转的时候会有一个orientationchange事件.你可以给body元素增加此事件的监听: <body onorie

Android之横屏竖屏显示问题

1.采用不同的布局文件 res文件下 选中layout  Ctrl+C 选中res Ctrl +V 创建layout-land横屏显示的layout 同理创建layout-port竖屏显示的layout 图片横屏竖屏 选中drawable-xhdpi Ctrl+C 选中res Ctrl + V 创建drawable-land-xhdpi 其他分辨率的也一样 字符串 values-land values-port 另外:(layout文件夹也可以使用hdip,mdip等关键字命名如layout-h