iOS 控件宽高字体大小适配方法

1.在AppDelegate.h里面设置两个方法:
- ( CGFloat )autoScaleW:( CGFloat )w;

- (CGFloat)autoScaleH:(CGFloat)h;

2.在AppDelegate.m里面设置两个属性:
// 当前屏幕与设计尺寸 (iPhone6) 宽度比例
@property ( nonatomic , assign ) CGFloat  autoSizeScaleW;

// 当前屏幕与设计尺寸 (iPhone6) 高度比例
@property ( nonatomic , assign ) CGFloat  autoSizeScaleH;

实现自定义方法

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

    // Override point for customization after application launch.

    

    [self initAutoScaleSize];

    return YES;

}


// --- 字体适配 ----

- (void)initAutoScaleSize

{

    

    if (kScreenHeight==480)

    {

        //4s

        _autoSizeScaleW =kScreenWith/375;

        _autoSizeScaleH =kScreenHeight/667;

    }

    else if(kScreenHeight==568)

    {

        //5

        _autoSizeScaleW =kScreenWith/375;

        _autoSizeScaleH =kScreenHeight/667;

    }

    else if(kScreenHeight==667)

    {

        //6

        _autoSizeScaleW =kScreenWith/375;

        _autoSizeScaleH =kScreenHeight/667;

    }

    else if(kScreenHeight==736)

    {

        //6p

        _autoSizeScaleW =kScreenWith/375;

        _autoSizeScaleH =kScreenHeight/667;

    }

    else

    {

        _autoSizeScaleW =1;

        _autoSizeScaleH =1;

    }

    

}


- (CGFloat)autoScaleW:(CGFloat)w{

    

    return w * self.autoSizeScaleW;

    

}


- (CGFloat)autoScaleH:(CGFloat)h{

    

    return h * self.autoSizeScaleH;

    

}

// --- 字体适配 ----



// 使用  

UILabel *label = [[UILabel alloc]init];

    // frame 也可以这样写  CGRectMake(CGRectGetMaxX(self.productNameLabel.frame) + 10 , self.productNameLabel.top+3,autoScaleW(32),autoScaleW(17));

    label.frame = CGRectMake(100, 100, 100, 30);

    

    label.backgroundColor = [UIColor lightGrayColor];

    label.font = [UIFont systemFontOfSize:autoScaleW(15)];

    label.text = @"554";

    [self.view addSubview:label];

    

    self.StorBoLabel.font = [UIFont systemFontOfSize:autoScaleW(15)];

    

    NSLog(@"----:%@",self.StorBoLabel.font);





猜你喜欢

转载自blog.csdn.net/qq_29680975/article/details/78719817