xib学习的一些记录

2018-04-24  本文已影响30人  NBeanN

由于工作需要,最近学习了xib和storyboard,网上教程很多,记录自己在实现功能上遇到的一些坑吧。

1.自定义tableviewcell在tableview上不显示的原因

a.检查有没有写代理,检查代理方法里有没有设置cell数量;

b.自定的cell中.m文件要写上

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)reuseIdentifier {

   self= [superinitWithStyle:stylereuseIdentifier:reuseIdentifier];

    if(self!=nil) {

        self = [[[NSBundle mainBundle] loadNibNamed:@"NoSignAppTableViewCell" owner:nil options:nil] lastObject];//这里的nibName和xib中的identifier对应

   }

    return self;

}

2.设置xib中view、button的圆角、边框、边框颜色

a.设置圆角和边框的处理:

设置圆角

关键是key path中的两个属性layer.cornerRadius 类型是string;layer.masksToBounds类型是bool。

b.设置边框和颜色:

设置边框和颜色

关键是key path中的两个属性layer.borderWidth 类型是string;layer.borderColorWithUIColor类型是color。

【注】设置边框系统自带是黑色的,如果不需要更改直接设置就行,如果需要更改颜色就需要给CALayer加一个类别即可。

自定义类别中.m代码

#import "CALayer+BorderColor.h"

@implementationCALayer (BorderColor)

- (void)setBorderColorWithUIColor:(UIColor*)color

{

    self.borderColor = color.CGColor;

}

@end

3.xib、storyboard设置屏幕适配

a.添加一个NSLayoutConstraint的类别

.h中

#import

@interfaceNSLayoutConstraint (Constraint)

@property(nonatomic, assign) IBInspectable BOOL adapterScreen;

@end

.m中

#import "NSLayoutConstraint+Constraint.h"

@implementationNSLayoutConstraint (Constraint)

- (void)setAdapterScreen:(BOOL)adapterScreen{

    adapterScreen = adapterScreen;

    if(adapterScreen){

        //以6为基准,等比例适配

        self.constant = self.constant * ([UIScreen mainScreen].bounds.size.width / 375.0);

    }

}

- (BOOL)adapterScreen{

    return YES;

}

@end

b.编译一下,右边就会出现

可以选择开启

在需要适配的约束上选择打开就行了。

4.UILabel适配

a.把UILabel拖拽到.h中

b.在.m中设置即可

self.indexNameLBOne.adjustsFontSizeToFitWidth = YES;

菜鸟走向大牛,大家共同前进,如果觉得不错,请给个赞/关注。

一起交流学习,有问题随时欢迎联系,邮箱:383708669@qq.com

上一篇下一篇

猜你喜欢

热点阅读