ios - 同时支持iPad和iPhone的应用怎么做?

 bl乄ue光耀 发布于 2022-11-07 20:26

关于同时支持iPad和iPhone我有两个问题

  1. 怎么判断当前设备是iPad还是iPhone,哪种方法比较好
  2. 对于不同的设备,怎么去实现不同的布局和样式,我的应用不是简单的哪种等比例放大
6 个回答
  • 布局的话有一个技巧 使用比例放大

    2022-11-12 01:58 回答
  • 用HTML5,自适应界面

    2022-11-12 01:58 回答
  • 设计两套界面,在程序里判断设备类型,再调用对应的界面。

    2022-11-12 01:58 回答
  • 为不同的设备写不同的controller,共用网络层、持久化等基础类。在applicationDidFinishLauching时判断设备类型,为不同的设备初始化不同的controller,赋值给window.rootViewController

    2022-11-12 01:58 回答
  • 当你需要支持横竖屏时,放弃用IB吧,那样会让你的代码更加混乱。
    最近参与一个应用的开发,需要兼容苹果各种设备:
    1.当你需要判断是ipad还是iphone时,上面兄弟已经给了方法:

    • define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

    2.当你判断是iphone后,但想知道是4还是5时,可以根据长宽判断:

    inline bool isPhone_5()
    {
        CGSize screenSize = [UIScreen mainScreen].bounds.size;
        if (screenSize.width == 568.0f || screenSize.height == 568.0f)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    你可能会说,ipad中mainScreen的size都是一样的,那你怎么办呢,我们可以加入scale进行判断:

    inline bool isPad_3()
    {
        CGSize screenSize = [UIScreen mainScreen].bounds.size;
        CGFloat scale = [[UIScreen mainScreen] scale];
        if ((screenSize.width == 1024.0f || screenSize.height == 1024.0f)&& scale == 2)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    现在可以判断当前运行的是什么设备,那就根据不同的设备加载不同的xib或者用代码实现不同的布局。

    2022-11-12 01:58 回答
  • 1.判断,我是定义了一个宏

    #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

    2.不同的布局,如果用xib的话,单独定义ipad的xib,初始化的时候判断,调去相应xib,没用xib的话,变化又很大,那最好单独为iPad写一个viewcontroller了。

    2022-11-12 01:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有