美文网首页iOS基础
适配iphone和iPad

适配iphone和iPad

作者: 阳vs阴 | 来源:发表于2019-04-18 17:30 被阅读0次

一、分别开发iphone和iPad版本
二、兼容开发iphone和ipad
1、General -> Deployment info -> Devices ->Universal


image.png

xib:
2、选中要适配的xib,例view.xib
3、file -> duplicate,将文件命名为view_ipad.xib
4、右键view_ipad.xib,open as -> source code, 找到targetrRuntime,将其修改为 targetRuntime="iOS.CocoaTouch.iPad"
5、为UINib创建分类 UINib+Adapter

@interface UINib (Adapter)

+ (UINib *)nibAdapter:(NSString *)name bundle:(nullable NSBundle *)bundleOrNil;

@end
#import "UINib+Adapter.h"

@implementation UINib (Adapter)

+ (UINib *)nibAdapter:(NSString *)name bundle:(nullable NSBundle *)bundleOrNil{
    UINib *nib;
    if((UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)) {
        NSString *ipad = [name stringByAppendingString:@"_ipad"];
        nib = [UINib nibWithNibName:ipad bundle:bundleOrNil];
        
    }else{
        nib = [UINib nibWithNibName:name bundle:bundleOrNil];
        
    }
    return nib;
}


@end

调用方法nibWithNibName: bundle:替换成nibAdapter: bundle:

UIStoryboard
前四步类似
5、同样建立分类

@interface UIStoryboard (Adapter)

+ (UIStoryboard*_Nullable)storyboardAdapter:(nonnull NSString*)name bundle:(nullable NSBundle*)storyboardBundleOrNil;

@end
#import "UIStoryboard+Adapter.h"

@implementation UIStoryboard (Adapter)

+ (UIStoryboard*)storyboardAdapter:(NSString*)name bundle:(nullable NSBundle*)storyboardBundleOrNil{
    UIStoryboard *storyBoard;
    if((UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)) {
        NSString *ipad = [name stringByAppendingString:@"_ipad"];
        storyBoard = [UIStoryboard storyboardWithName:ipad bundle:storyboardBundleOrNil];
        
    }else{
        storyBoard = [UIStoryboard storyboardWithName:name bundle:storyboardBundleOrNil];
        
    }
    return storyBoard;
    
}


@end

调用方法storyboardWithName:bundle:替换成storyboardAdapter: bundle:

相关文章

  • 适配iphone和iPad

    一、分别开发iphone和iPad版本二、兼容开发iphone和ipad1、General -> Deployme...

  • ios适配iPhone和iPad

    最近项目需要兼容iPad,由于项目使用xib和Storyboard,故记录对iPhone和iPad的适配! iPh...

  • [开源App推荐] PHPHub for iOS

    PHPHub for iOS 是 PHPHub 的官方 iOS 客户端, 完美适配 iPhone 和 iPad, ...

  • iOS启动图改成视频动画无黑白屏无闪屏---直接拿Demo用

    效果 · 代码地址 · 已适配iPhone和iPad各种机型 · 步骤 · · 谢谢你的小星星 ·

  • 屏幕适配

    iPhone4/iPhone4s : 直接用代码计算frame(谈不上适配) ipad : autoresizng...

  • 2019-02-13

    iOS 屏幕适配 判断是否是ipad 判断iPhone4系列 判断iPhone5系列 判断iPhone6系列 判断...

  • iOS 适配iphone和ipad图片的几种方式

    iOS 适配iphone和ipad图片的几种方式 适配实现的三种方式: 图片命名方式,系统来区别加载(建议这个方式...

  • iOS 设置图标

    注意icon切图不能有:圆角、alpha通道。尽量避免使用纯白、纯黑底色。 适配iPhone: 适配iPad: A...

  • xib文件适配iPhone和iPad

    写在前面:xib文件配置布局,在拖拽方面的确是方便很多。但是在有些时候,出现一些布局上面不适配的问题,也很是让人伤...

  • iPad全面屏适配问题

    目前iPad全面屏有11和12.9英寸两款,12.9寸与旧款iPad屏幕尺寸相同 之前iPhone的适配都是判断屏...

网友评论

    本文标题:适配iphone和iPad

    本文链接:https://www.haomeiwen.com/subject/tbbtgqtx.html