Xib设置label自动换行和Label的顶部对齐
真的是不想说自己了,一个Xib纠结了一天,简直了,整整被虐了一上午啊......
不知道这是Xcode8的问题呢....还是我的Xib约束什么的问题.....
只想说的是,以前也是这么设置的,明明可以的呀....
反正就是淡淡的忧桑......呜呜呜.....可喜的是,问题终于解决啦.😜
实现的效果就是下面啦!!!! 被虐的就是"资产类别"关键字需要换行显示滴......
一.Xib设置Label就是不能换行,约束检查了好几遍,根本木有错误.....
最后发现问题: 当我们用Xib画的Cell的时候,要先给定下默认值,不然他就是不能换行<表示这个问题是为什么,总之..我是被这个虐了一上午>
二.当设置了约束,换行也显示了的时候,发现多行正常显示,单行就不和"资产名称"关键字顶部对齐了,一直以为是顶部约束问题,试了好几次不能解决问题......
给Label设置颜色,发现问题,Label正常显示,是Label的文字不能实现顶部对齐,导致文字一换行,Label的对齐问题出现.
解决方法: 重写UILabel
的drawInRect
方法
// // TopLeftLabel.m // zichan // // Created by 思 彭 on 16/9/22. // Copyright © 2016年 Mike. All rights reserved. // #import "TopLeftLabel.h" @implementation TopLeftLabel /* // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { // Drawing code } */ - (id)initWithFrame:(CGRect)frame { return [super initWithFrame:frame]; } - (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines { CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines]; textRect.origin.y = bounds.origin.y; return textRect; } -(void)drawTextInRect:(CGRect)requestedRect { CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines]; [super drawTextInRect:actualRect]; } @end
问题解决了,心情好的不要不要的.....😝...还是要填坑,自己才能成长呀!!!
加油加油💪...Fighting!!!!