关于同时支持iPad和iPhone我有两个问题
- 怎么判断当前设备是iPad还是iPhone,哪种方法比较好
- 对于不同的设备,怎么去实现不同的布局和样式,我的应用不是简单的哪种等比例放大
关于同时支持iPad和iPhone我有两个问题
为不同的设备写不同的controller,共用网络层、持久化等基础类。在applicationDidFinishLauching
时判断设备类型,为不同的设备初始化不同的controller,赋值给window.rootViewController
当你需要支持横竖屏时,放弃用IB吧,那样会让你的代码更加混乱。
最近参与一个应用的开发,需要兼容苹果各种设备:
1.当你需要判断是ipad还是iphone时,上面兄弟已经给了方法:
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或者用代码实现不同的布局。
2 回答1k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
1.判断,我是定义了一个宏
2.不同的布局,如果用xib的话,单独定义ipad的xib,初始化的时候判断,调去相应xib,没用xib的话,变化又很大,那最好单独为iPad写一个viewcontroller了。