ipadmd513ch a是ipad几/a怎么横屏

代码固定坐标方案
今天花了一天的时间对IOS6和IPHONE5进行适配 [由于自己用的机器是IPHONE5,所以没出什么问题,但是在IPHONE4上就出问题了,都是IOS7版本,还有一台IPOD是IOS6版本,也出问题~ 哎,一开始没注意适配,现在得花这精力去修改~ &特总结一下,防止以后犯错误,提高工作效率,加油!]
由于习惯问题,都在视图控制器下的viewDidLoad去创建自定义的UI元素,因为IOS版本问题,所以self.view.frame也会不同,如果要实现相同的UI布局,用代码进行测试,发现以下4种情况
3.5寸IPHONE
IPHONE5,IPHONE5S设备
结论:针对有导航栏的视图控制器,IOS6系统下self.view下的subviews的Origin.y是从导航栏底部开始计算的,高度是整个屏幕高度减去20后的值为参照,IOS7系统下是从0开始计算的,高度是整个屏幕高度为参照!
适配方案探讨:
1.在每个视图控制器的viewDidLoad去判断IOS版本和IPHONE尺寸,创建不同的frame,去设置每个UI元素 [当前由于时间问题,采取这种方案,发现略显繁琐,不易维护]
2.在每个视图控制器下加入以下代码:
1 if ([[[UIDevice currentDevice] systemVersion] floatValue] &= 7) {
self.edgesForExtendedLayout = UIRectEdgeN
这样不管在IOS6还是IOS7下,元素的Origin.y都是一样的,不用再去分别设置了
然后只要控制每个元素的高度就行了,如下图:&
3.在第二种方法前提下,在每个视图控制器下重写loadView方法
1 -(void) loadView
[super loadView];
CGRect rect=
[[UIScreen mainScreen] applicationFrame];
UIView* view=[[UIView alloc] initWithFrame:rect];
view.backgroundColor=[UIColor purpleColor];//根据项目需求,修改你自己的背景颜色
self.view=
[view release];
这样第二种方法里的高度设置都可以设置一样的,不用分别设置了~~
高度以屏幕高度减去20后的值为参照
最近遇到一些需求需要对6,6 plus以及iPad设备进行适配(也包括横竖屏的适配问题)
维护老项目(iPhone4S,iPhone5之前设备固定坐标UI布局的项目)在6和6 plus上使用:
/ios/00.html
iphone6 Plus下对应的屏幕frame
标准模式分辨率为(iPhone6的2倍),放大模式分辨率为
{{0, 0}, {414, 736}}
iphone6下对应的屏幕frame&
分辨率是750x1334
{{0, 0}, {375, 667}}
&iPad适配分辨率&
基准为768*1024
设计和开发协作参考模式:/ios/34.html
如果按照传统的技术if..else代码进行布局(主要是frame和bounds),工作量会很大,也不利于后期维护
所以想起用自动布局技术,不过悲剧的事,项目需要从iOS5系统进行编码,最终使用autoresizing技术
ios6.x AutoResiziingMask适配
对于一些需要横竖屏适配的视图,适配规则为,保留尺寸不变,位置做相应处理(左右上下边距等比例缩小或放大)
不再需要针对ios7.x之前和ios8.x之后的坐标系,对目标视图计算不同的frame
[目标视图&setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleTopMargin];
适配目标:&描述性文字...&字样的UILabel边距为5 point,黄色图片矩形也是边距为5 point (不管横竖屏)
iPhone 6 plus
iPad retina&
代码截图:(xcode 6.x &ios8.1 sdk &target: ios6 )
1 -(void) testAutoresizing
//左边距20,上边距64,高度44, 位置水平居中
UIView* topView=[[UIView alloc] initWithFrame:CGRectMake(20, 64, [UIScreen mainScreen].bounds.size.width - 20 * 2, 44)];
topView.layer.borderWidth=1.0;
topView.layer.borderColor=[UIColor blackColor].CGC
CGFloat textLabelTop=(topView.frame.size.width-200)/2;
CGFloat textLabelWidth=(topView.frame.size.height-50)/2;
UILabel* textLabel=[[UILabel alloc] initWithFrame:CGRectMake(textLabelTop, textLabelWidth, 200, 50)];
[textLabel setText:@"适配"];
[textLabel setAlpha:0.5];
[textLabel setBackgroundColor:[UIColor greenColor]];
[textLabel setTextAlignment:NSTextAlignmentCenter];
[topView setBackgroundColor:[UIColor whiteColor]];
[textLabel setTextColor:[UIColor whiteColor]];
UIImageView* imageView=[[UIImageView alloc] initWithFrame:CGRectMake(5, 5, 30, 34)];
imageView.backgroundColor=[UIColor yellowColor];
[topView addSubview:imageView];
UILabel* desLabel=[[UILabel alloc] initWithFrame:CGRectMake(imageView.frame.origin.x+imageView.frame.size.width+5.0f, 5.0, topView.bounds.size.width-5*3-imageView.bounds.size.width, 34)];
[desLabel setBackgroundColor:[UIColor yellowColor]];
desLabel.text=@"描述性文字水电费水电费水电费时代";
[topView addSubview:desLabel];
#warning 适配 (包括横竖屏适配)
[desLabel setAutoresizesSubviews:YES];
[textLabel setAutoresizesSubviews:YES];
[topView setAutoresizesSubviews:YES];
//desLabel 左边距,上边距不变,宽度变化
[desLabel setAutoresizingMask:UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleWidth];
//textLabel宽度变化,左,右,上,下边距固定
[textLabel setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleTopMargin];
//topView宽度变化,左,右,上,下边距固定
[topView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleTopMargin];
[topView addSubview:textLabel];
//textLabel.hidden=YES;
[self.view addSubview:topView];
masonry自动布局:
适配场景:
1.让xx距离xx左边界40pt
make.left.lessThanOrEqualTo(40);
make.left.equalTo(self.view).with.offset(40);
ios8 size class:
对iPad和iPhone不同尺寸的设备对屏幕进行抽象分类
iPad不管是横屏还是竖直方向都是w:(regular)/h:(regular) 规则/规则
iPhone竖直方向下都是w:(compact)/h:(regular) 紧凑/规则
iPhone横屏方向下是w:(compact)/h:(compact) 紧凑/紧凑
iPhone6 Plus横屏方向下是w:(regular)/h:(compact)规则/紧凑
代码中涉及到对size class的监控:
UIViewController实现UITraitEnvironment协议
storyboard自动布局操作备忘:
添加约束的过程中会看到约束的线是黄颜色,表明当前的约束还不能确定view的frame,需要继续添加,当添加完4个约束后,约束线的颜色是蓝色的,表明当前约束是正确的。
&项目在iOS8.x上和新的xcode上使用遇到的问题备忘:
ios的坐标系
iOS8.x之前的:http://blog.csdn.net/smallmuou/article/details/8238513&
ios8之后的坐标系统:window的坐标系会变的,之前的不会变
横竖屏适配关键代码:
1 UILabel*
2 UIView* windowrootV
5 //获取当前UIView屏幕方向下的尺寸
6 + (CGSize)fixedScreenSize {
CGSize screenSize = [UIScreen mainScreen].bounds.
if ((NSFoundationVersionNumber &= NSFoundationVersionNumber_iOS_7_1) && UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) {
return CGSizeMake(screenSize.height, screenSize.width);
return screenS
18 //当前屏幕方向,水平方向为宽度
19 CGSize size= [BannerViewController fixedScreenSize];
20 CGRect rect=CGRectMake(0, 0, size.width, size.height);
21 if(NSFoundationVersionNumber &= NSFoundationVersionNumber_iOS_7_1)
CGSize temp= [UIScreen mainScreen].bounds.
rect.size.width=temp.
rect.size.height=temp.
28 windowrootView=[[UIView alloc] initWithFrame:rect];
29 windowrootView.backgroundColor=[UIColor yellowColor];
30 [[UIApplication sharedApplication].keyWindow addSubview:windowrootView];
33 [lable removeFromSuperview];
34 lable=[[UILabel alloc] initWithFrame:CGRectMake(20, 100, 200, 50)];
35 lable.text = @"深圳欢迎您深圳欢迎您";
37 [windowrootView addSubview:lable];
42 //ios7.x之前修改角度
43 if(NSFoundationVersionNumber &= NSFoundationVersionNumber_iOS_7_1)
CGAffineTransform rotate=CGAffineTransformI
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
switch (orientation) {
case UIInterfaceOrientationLandscapeLeft:
rotate= CGAffineTransformMakeRotation(-M_PI/2);
case UIInterfaceOrientationLandscapeRight:
rotate = CGAffineTransformMakeRotation(M_PI/2);
[lable setTransform:rotate];
59 //iOS8.x之后修改windowsrootView的bounds
iOS8,iPhone6,iPhone6 plus有一个放大模式,监控到的[UIScreen mainScreen].bounds会有所不一样,特别mark下
参考:http://blog.csdn.net/lvmaker/article/details/
阅读(...) 评论()[JS代码]如何判断ipad或者iphone是否为横屏或者竖屏 - portrait或者landscape
日期:&&来源:
在ipad/iphone开发中我们往往需要判断用户目前的屏幕的位置,这样加以优化显示应用内容。今天这里我们分享一个jQuery的代码,能够有效帮助大家判断横屏或者竖屏。注意这里调用了jQuery的方法,所以你需要引用jQuery类库。function orient() {    alert('gete');    if (window.orientation == 0 || window.orientation == 180) {        $(&body&).attr(&class&, &portrait&);        orientation = 'portrait';           }    else if (window.orientation == 90 || window.orientation == -90) {        $(&body&).attr(&class&, &landscape&);        orientation = 'landscape';           }}/* 在页面加载的时候调用 */$(function(){    orient();});/* 在用户变化屏幕显示方向的时候调用*/$(window).bind( 'orientationchange', function(e){    orient();});
喜欢我们的文章请您与朋友分享:
除特别声明外, 本站所有内容皆为原创,且基于创作共享的 署名-非商业使用-相同方式分享 2.5 协议发布. 转载时请务必以超链接形式标明文章出处和作者信息ipad横屏和竖屏的转换 用iPad转换 - 小小知识站
ipad横屏和竖屏的转换 用iPad转换
最近有网友提出“ipad横屏和竖屏的转换 用iPad转换”等问题,小小知识站提取了各大知名网站有关“ipad横屏和竖屏的转换 用iPad转换”的部分信息,请注意,文中的内容不代表本站的观点,不要相信任何联系方式。下文是关于“ipad横屏和竖屏的转换 用iPad转换”的一些信息:
问题:用iPad轻松生成iPad电影格式
回答:...新的电影剧不能导入iPad中播放。理由很简单,iPad格式有特殊要求,iPad转换器就能巧妙解决这个问题了。苹果iPad支持的格式需要是H.264编码的,而这种格式并不是能随便到的,一般我们的电影以
rmvb,rm,i,flv,mp4等格式居多,不过只要安装了苹果iPad转换器就能把所有这些常用格式都快速转换成iPad专用了。使用iPa...
问题:巧用iPad为高清添字幕
回答:...影视剧,通过iPad连网常常受到网速等因素制约,很难达到理想的效果,一般来说,使用iPad转换器把电影剧都转换到iPad中保存起来观看是最佳方式。虽然很多iPad都用过iPad转换器,但往往只是为了iPad格式,却不知道其实iPad转换器还有一个实用性很强的功能,在转换iPad格式的同时为影片添加外挂字幕,这样输出的不仅适合iPad播...
问题:随身iPad看电影备苹果iPad
回答:...视剧统统装进iPad中。只有iTunes还不行,iPad看电影有专门的格式,还需要搭配一个苹果iPad转换器就万事俱备了。iPad格式使用H.264编码格式,这种格式的优点在于非常适于高清电影,这与iPad支持的高清画质是完美兼容的,因此无论的电影是
rmvb,rm,i,wmv等等哪一种格式,我们都需要将其转换成H.264编码的格式才能用于iPad播放。使用i...
问题:iPad格式转换看1080P高清电影攻略
回答:...有完美的Retina显示屏正好适合观看1080P超清片,不用浪了,于是自己动手把的高清电影都转换iPad格式,导入iPad3中保存起来慢慢欣赏。要把的高清电影存入iPad中,就需要通过专门的苹果iPad转换器帮忙才行,因为iPad支持的H264格式与网上流行的
RMVB,RM,MKV等格式不同,这是一种高清格式画质清晰细腻,所以使用iPad转换器就能把各种格式都...
问题:iPadMini看电影准备好iPad
回答:...最新推出了体积更小巧的iPadMini,携带方便但体验却不减,如果想要用iPadMini看电影学会iPad转换器的使用是当务之急,因为iPad有专门的格式,经常的rmvb,rm,i,flv等格式并不能直接导入iPad中播放,iPadMini也不支持,所以喜欢看电影剧的朋友掌握iPad格式方法就什么都难不倒你了!随着各种App的不断增加,虽然很多时候通过连接无线网络我们就...
问题:iPad体验超简单流畅看电影
回答:...入半天你也会发现
iTunes里什么都没有,因此我们需要先进行一项简单作把这些电影转换成iPad格式,这样就没问题了。通过苹果iPad转换器软件我们就可以轻松完成这项,接下来就详细看看具体步骤。安装一款简单好用的iPad转换器--私房iPad格式转换软件。启动软件后可以从主界面上看到一个清
问题:iPad体验超简单流畅看电影
回答:...入半天你也会发现
iTunes里什么都没有,因此我们需要先进行一项简单作把这些电影转换成iPad格式,这样就没问题了。通过苹果iPad转换器软件我们就可以轻松完成这项,接下来就详细看看具体步骤。安装一款简单好用的iPad转换器--私房iPad格式转换软件。启动软件后可以从主界面上看到一个清
问题:iPad版Pages如何转换PDF
回答:方法一、转换为PDF并发送电子1.在 iPad 上把 Word 转换成 PDF 的话,需要一个应用软件,软件名称叫住Pages。这个软件是 iPad 上专门用于处理文字的软件,兼容 Windows 的 Word ,可以通过 iPad 的 App Store ,如图所示2.这里以随意一个文档,然后点击软件右上角的设置图标,如图所示3.随后在菜单选项中选择共享与打印,如图所示4.接着选择用电子发送...
问题:苹果平板电脑ipad中文字繁简转换技巧
回答:有时在撰写文字或者网上一些文字的时候都会遇到繁简转换的问题(特别是港澳台的同胞们)。虽然可以用 Google 翻译或软件对其进行转换但中途毕竟还是要粘贴等一堆繁琐作那么有没有简单的转换方法呢?下面小编为果粉介绍下苹果平板电脑ipad中文字繁简转换技巧:其实,只需要在 iOS 中选定一段文字。在出的气泡选项中选择替换为,就可以看到有转换为繁...
问题:iPad看电影不限格式用iPad
回答:...影,我们还需要专门去寻找该格式呢?完全没必要,因为我们可以使用苹果iPad转换器轻松把各种格式的电影转成iPad格式,符合iPad的标准,自然
问题:苹果iPad看TXT电子书全攻略
回答:...eader、熊猫看书、Stanza等对各方面格式支持比较单一的电子书阅读软件。实际上如果将TXT等格式转换为iPhone、iPad能识别的epub格式,是个相对麻烦的过程,笔者更安装使用GoodReader等类似的第三方软件,来实现直接查看TXT电子书的功能。在这里,笔者以GoodReader为例,详细讲述查看TXT电子书的全过程。完成之后,在今后遇到类似的情况就可以轻松的解决。 iPad电子书阅读软件G...
问题:iTunes怎么导入电影
回答:...怎么将电影导入itunes中呢?本文就教大家使用对苹果格式支持最全、格最多、速度最快的转换器 - MP4/RM转换专家,将各种格式的电影转换成苹果各的MP4格式,再使用itunes同步至iPod/iPhone/iPad中,体验高画质影音。工具/原料1、itunes - 苹果同步软件。2、MP4/RM转换专家 - 苹果格式转换软件。使用MP4/RM转换专家导出itunes识别的电影格式1、将电影导入MP4/RM...
问题:高清有哪些
回答:Digiarty HD Video Converter高清转换器是您整理你的MKV M2TS CHD I格式的MP4 YouTube必备的软件。winx的高清转换软件完美版,在一个高清转换器,幻灯片,器,YouTube软件,让你的的最终控制权。高清转换器功能特色:1.拥有超过320个的编器和50个音频编器,2.拥有强大的能力,以满足快速和高品质的转换需求,...
问题:iPad如何直接网线上网
回答:...上。USB 连接线(两头都是 USB 接口的那种连接线)一个有额外电源提供的 USB Hub一个 USB 转以太网转换器一个连接互联网的路由器按照以上顺序好后入 iPad ,会出现无法识别或支持的 USB 转以太网转换器忽略掉后就可以上网了,如果没有出现重启 iPad 就可以了。
问题:让iPad直接上网线上网
回答:...上。USB 连接线(两头都是 USB 接口的那种连接线)一个有额外电源提供的 USB Hub一个 USB 转以太网转换器一个连接互联网的路由器按照以上顺序好后入 iPad ,会出现无法识别或支持的 USB 转以太网转换器忽略掉后就可以上网了,如果没有出现重启 iPad 就可以了。
分享给小伙伴们:
09-0310-1012-2707-12
09-1009-1709-0308-17
也许你感兴趣

我要回帖

更多关于 苹果md513ch 的文章

 

随机推荐