对UILabel的使用:
大家可能对与UILabel换行的使用可能比较深刻啊,如果不使用约束那就是太痛苦了,但使用约束也是一件不简单的事啊。那么看看YogaKit实现这个有多么简单。
代码:
//文本显示
- (void)textDisplay {
NSString *str = @"央视新闻客户端2月1日消息,国家主席习近平1日在钓鱼台国宾馆会见来华进行正式访问的英国首相特雷莎·梅习近平首先请特雷莎·梅转达对伊丽莎白二世女王的亲切问候和良好祝愿。习近平指出,英国是最早承认新中国的西方大国。建交以来,两国各领域合作硕果累累。2015年我对英国进行了成功访问,双方共同揭开了中英关系“黄金序章”。中方愿同英方一道,推动中英关系在新时代健康稳定发展,为两国人民带来更多福祉,为世界繁荣稳定提供更多助力。";
UILabel *textLbl = [[UILabel alloc] initWithFrame:CGRectZero];
textLbl.backgroundColor = [UIColor yellowColor];
textLbl.numberOfLines = 0;
textLbl.text = str;
[textLbl configureLayoutWithBlock:^(YGLayout * layout) {
layout.isEnabled = YES;
layout.paddingHorizontal = YGPointValue(8.0);
layout.marginBottom = YGPointValue(8.0);
}];
[self.baseClassView addSubview:textLbl];
UIView *views = [[UIView alloc] initWithFrame:CGRectZero];
views.backgroundColor = [UIColor greenColor];
[views configureLayoutWithBlock:^(YGLayout * layout) {
layout.isEnabled = YES;
//padding可以有三个表示含义,与上一个控件距离还有自身的大小,宽度是左右间距为0 高度为输入数据的两倍
layout.padding = YGPointValue(8.0);
}];
[self.baseClassView addSubview:views];
[self.baseClassView.yoga applyLayoutPreservingOrigin:NO];
}
效果:
image.png
看到代码是不是觉得好简单啊,就几行代码就可以实现了。是不是幸福感爆棚了啊。
网友评论