锅子们在做项目的时候,我们可能会用到xib或者SB,这样能帮助我们提高开发效率,但是我们在做这些的时候可能会遇到一些关于适配屏幕的问题。下面给大家分享一下我在项目中;通过xib不需要设置适配比例的情况下来适配不同的屏幕。
首先我们xib里面经常用到的有,给View设置高度,适配字体大小等等情况,当我们遇到这些的时候一般的做法是通过屏幕比例来做适配,这样的话我们在做一个控件的适配的时候就会显得很麻烦,如果我们给NSLayoutConstraint
添加一个分类那么事情就会变得很简单了。
我们在NSLayoutConstraint+IBDesignable.h
中我们写一个声明代码如下:
@interface NSLayoutConstraint (IBDesignable)
@property(nonatomic, assign) IBInspectable BOOL adapterScreen;
@end
那接下来我们在NSLayoutConstraint+IBDesignable.h分类的.m文件中写下面的代码:
#import "NSLayoutConstraint+IBDesignable.h"
@implementation NSLayoutConstraint (IBDesignable)
- (void)setAdapterScreen:(BOOL)adapterScreen{
adapterScreen = adapterScreen;
if (adapterScreen){
self.constant = self.constant * kScreenProportion;
}
}
- (BOOL)adapterScreen{
return YES;
}
我们写完这些然后只需要在SB或者xib里面做以下的设置就好了:
先给一个视图设置好位置,然后我们找到这个视图的Constraints
这个就在


Layout Constraint
里面是Default
我们只需要把Default
换成下图

On
状态就好了,这样我们的设置就好了。
网友评论