Xib设置label自动换行和Label的顶部对齐

真的是不想说自己了,一个Xib纠结了一天,简直了,整整被虐了一上午啊......

不知道这是Xcode8的问题呢....还是我的Xib约束什么的问题.....

只想说的是,以前也是这么设置的,明明可以的呀....

反正就是淡淡的忧桑......呜呜呜.....可喜的是,问题终于解决啦.?

 

实现的效果就是下面啦!!!!  被虐的就是"资产类别"关键字需要换行显示滴......

 

 

一.Xib设置Label就是不能换行,约束检查了好几遍,根本木有错误.....

最后发现问题: 当我们用Xib画的Cell的时候,要先给定下默认值,不然他就是不能换行<表示这个问题是为什么,总之..我是被这个虐了一上午>

 

二.当设置了约束,换行也显示了的时候,发现多行正常显示,单行就不和"资产名称"关键字顶部对齐了,一直以为是顶部约束问题,试了好几次不能解决问题......

给Label设置颜色,发现问题,Label正常显示,是Label的文字不能实现顶部对齐,导致文字一换行,Label的对齐问题出现.

解决方法: 重写UILabeldrawInRect方法

//
//  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!!!!

转载于:https://www.cnblogs.com/pengsi/p/5896282.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值