iOS XIB约束适配 || 字体 根据屏幕宽变化

简单实现XIB上的约束值,按照指定需求自动变化(根据屏幕宽度变化)。

基准图(750 * 1334)上控件距离左边为20

达到效果:5s(640 * 1136)上运行距离为 20*(320/375.0) = 17.07;

6s(750 * 1334)上运行距离为 20*(375/375.0) = 20;

8p(828 * 1472)上运行距离为 20*(621/375.0) = 22.08;
.h

#import <UIKit/UIKit.h>

@interface NSLayoutConstraint (IBDesignable)

@property (nonatomic)IBInspectable BOOL widthScreen;

@end

.m

//按比例获取宽度   根据375的屏幕
#define  C_WIDTH(WIDTH) WIDTH * [UIScreen mainScreen].bounds.size.width/375.0#import "NSLayoutConstraint+IBDesignable.h"

@implementation NSLayoutConstraint (IBDesignable)

-(void)setWidthScreen:(BOOL)widthScreen{
    if (widthScreen) {
        self.constant = C_WIDTH(self.constant);
    }else{
        self.constant = self.constant;
    }
}

-(BOOL)widthScreen{
    return self.widthScreen;
}

@end

XIB上这时选中约束 右上角多出一个选项 默认关闭 选中on就可以了

 

1526971534600.jpg

UILabel字体适配 其他控件可自己添加
.h


@interface UILabel (FixScreenFont)

@property (nonatomic)IBInspectable float fixWidthScreenFont;

@end

.m


@implementation UILabel (FixScreenFont)

- (void)setFixWidthScreenFont:(float)fixWidthScreenFont{
    
    if (fixWidthScreenFont > 0 ) {
        self.font = [UIFont systemFontOfSize:C_WIDTH(fixWidthScreenFont)];
    }else{
        self.font = self.font;
    }
}

- (float )fixWidthScreenFont{
    return self.fixWidthScreenFont;
}

@end

1B5EE4A7-1EEF-4DC2-B2DA-F55CFE3489A8.png

右上角输入字号就能自动适配字体了

文章方便大家使用XIB快速开发,View的圆角啊边框什么的都可以自己设置在XIB上。IBInspectable 和 IBDesignable 的知识还很多。今天就到这里。



链接:https://www.jianshu.com/p/645485ec6e1d
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值