1. 程序要要支持Iphone 和 ipad,所以首先必需创建一通用程序,这一操作只要在创建程序时在

devices那栏上勾选universal即可,完成后会发现有两个.xib文件,但只有一个viewController类.因为这是用一个ViewController控制两个.xib文件,苹果官方称最好分开控制 Iphone.xib和ipad.xib,也就是再写一个ViewController,但这样做也就像写两个应用程序一样的,只不过是同时进行

2. 由于Iphone5的屏幕要长一点,我也用同样的方法再建一个phone5的.xib文件,让它和ipad,其他类型的iphone关联到同一个viewController,在这里创建.xib文件时要注意来了,因为xcode没有单独创建.xib的操作(我没找到该操作),所以我们可以先建一个object-c的文件,设置它的父类为UIController 这样就会常见出一个.xib文件和一个.h及.m文件,我们只要用.xib文件,其他的删除。

3. 然后将该文件关联到同一个ViewController,操作:

先选中该Iphone5.xib文件 ,然后在 左边有个FileOWn   点击它,在最右边再点击show the identify inspector 配置其custom class为ViewController,则大功告成

4.完成上述操作后就可以用一个ViewController操作了,加载时加入些代码

如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

// Override point for customization after application launch.

//下面的代码判断设备是否时IPhone5

BOOL iphone5 = [UIScreen instanceMethodForSelector:@selector(currentMode)]?CGSizeEqualToSize([[UIScreen mainScreen]currentMode].size, CGSizeMake(640, 1136)):NO;

//是Iphone系列还是Ipad系列

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];

} else {

if (iphone5) {

//  self.viewController = []

}

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];

}

self.window.rootViewController = self.viewController;

[self.window makeKeyAndVisible];

return YES;

}

5.屏幕旋转时就不用多说了,原理一样,用另外的一个.xib显示就行了,本来ios中有个自适应属性,但只能支持ios6.0,而我们的软件要支持Ios5,此外自适应 对于复杂的屏幕也控制不了

6.当屏幕进行 旋转后加入下面的代码

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{

//如果将要旋转到横屏

if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {

//加载横向的.xib文件

[[NSBundle mainBundle]loadNibNamed:<#(NSString *)#> owner:<#(id)#> options:<#(NSDictionary *)#>];

}else{

//加载纵向的.xib文件

[[NSBundle mainBundle]loadNibNamed:<#(NSString *)#> owner:<#(id)#> options:<#(NSDictionary *)#>];

}

}

ios开发屏幕问题的更多相关文章

  1. iOS开发——屏幕适配篇&Masonry详解

    Masonry详解 前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-ip ...

  2. iOS开发——屏幕适配篇&autoResizing autoLayout和sizeClass

    autoResizing autoLayout和sizeClass,VFL,Masonry详解 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前 ...

  3. iOS开发——屏幕尺寸适配

    对于屏幕尺寸适配,目前先指竖屏的方式适合方式1和2. 1.控件尺寸写死的方式,偶尔会用到屏幕的宽度和高度. UILabel *holdLabel = [[UILabel alloc]initWithF ...

  4. iOS - 开发屏幕及视图层次

    //屏幕视图分层 .UIWindow .UILayoutContainerView .UITransitionView .UIViewControllerWrpaperView .UILayoutCo ...

  5. iOS开发点滴:iPhone屏幕适配

    最近开始做iOS开发,遇到一些小问题和解决方法,记录下.   今天是iPhone屏幕适配 iPhone5出来之后屏幕就有iPhone就有了2种尺寸:3.5寸和4寸,xcode 5 的IB设计器里面界面 ...

  6. IOS开发之绝对布局和相对布局(屏幕适配)

    之前如果做过Web前端页面的小伙伴们,看到绝对定位和相对定位并不陌生,并且使用起来也挺方便.在IOS的UI设计中也有绝对定位和相对定位,和我们的web前端的绝对定位和相对定位有所不同但又有相似之处.下 ...

  7. iOS开发 - 不进入待机(屏幕保持唤醒)---UIApplication学习

    iOS开发 - 不进入待机(屏幕保持唤醒)---UIApplication学习 如果你不希望应用运行时 iPhone 进入锁屏待机状态,加入下面这行代码即可 [[UIApplication share ...

  8. iOS开发中获取视图在屏幕上显示的位置

    在iOS开发中,我们会经常遇到一个问题,例如,点击一个按钮,弹出一个遮罩层,上面显示一个弹框,弹框显示的位置在按钮附近.如果这个按钮的位置相对于屏幕边缘的距离是固定的,那就容易了,可以直接写死位置.可 ...

  9. iOS开发技巧 - Size Class与iOS 8多屏幕适配(一)

    0. 背景: 在iOS开发中,Auto Layout(自动布局)能解决大部分的屏幕适配问题. 但是当iPhone 6和iPhone 6 Plus发布以后, Auto Layout已经不能解决复杂的屏幕 ...

随机推荐

  1. java_maven_linux_windows下项目运行jar

    我才用的是eclipse自带的export功能,暂时没把maven的打包插件研究清楚 导出jar包后,需要用解压缩打开,把配置文件copy到压缩包的内的顶级目录 保存 写 bat 脚本 @author ...

  2. 矿Mac必备软件

    1.Svn工具: Cornerstone_v2.7.10 2.iPhone配置文件管理 iPhoneConfigUtility.dmg 3.有道 for mac http://cidian.youda ...

  3. 【LeetCode】 sort list 单清单归并

    称号:Sort a linked list in O(n log n) time using constant space complexity. 思路:要求时间复杂度O(nlogn) 知识点:归并排 ...

  4. 电商指尖---(9).net发展Solr中间Facet特征

    上一节中我们演示了在SolrAdmin中使用Facet功能来进行分组统计.这一节我们看看如何使用.NET开发Solr中的Facet功能.在讲Facet功能的同一时候, 我们看下.Net中如何使用Sol ...

  5. 【百度地图API】如何制作泡泡放大镜?

    原文:[百度地图API]如何制作泡泡放大镜? 任务描述: 我不喜欢API提供的缩放控件耶…… 我能不能使用其他方式放大地图勒? 当然阔以啦! 现在就来教大家如何动手制作一个可爱的泡泡放大镜! 使用它, ...

  6. 电脑报2014年第43期 pdf高清版

    电脑报2014年第43期 pdf高清版

  7. UITabBarControler解决旋转问题

    在遇到开发项目中播放视频,播放视频回列表后,,列表 NavigationController 里边, NavigationController 在 UItabBarController 里边,不要旋转 ...

  8. 高性能双端js模板---simplite

    simplite是一款js实现的模板引擎,它能够完成浏览器端js模版和node服务器端js模板的数据渲染,渲染性能达到引擎的极限. 渲染性能十分突出. 支持浏览器端和node服务器端模板渲染. 它简单 ...

  9. 使用C/C++发展Web系统开源

    下载 见 C++开发的论坛系统 - BBS 下载地址:Fetch_source_code_release_vse2008_v1.2.1.7z 眼下先暂存在百度云上,最近会放入github 当前版本号的 ...

  10. javascript and dom1

    <script type="text/javascript"> //数组 var beatles=Array(4); var beatles=Array(); cons ...