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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM