由于工作需要,最近学习了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
网友评论