• ios开发屏幕问题


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

    devices那栏上勾选universal即可,完成后会发现有两个.xib文件,但只有一个viewController.因为这是用一个ViewController控制两个.xib文件,苹果官方称最好分开控制 Iphone.xibipad.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 classViewController,则大功告成

     

    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 *)#>];

     

        }

    }

     

     

  • 相关阅读:
    docx python
    haozip 命令行解压文件
    python 升级2.7版本到3.7
    Pyautogui
    python 库搜索技巧
    sqlserver学习笔记
    vim使用
    三极管工作原理分析
    串口扩展方案+简单自制电平转换电路
    功率二极管使用注意
  • 原文地址:https://www.cnblogs.com/ctaodream/p/3187397.html
Copyright © 2020-2023  润新知