//第一種:顯示全部
uifont*font = [uifontfontwithname:
@"arial"
size:
17];
cgsize size = cgsizemake(320,2000);
cgsizelabelsize = [str sizewithfont:font constrainedtosize:size linebreakmode:uilinebreakmodewordwrap];
label.frame = cgrectmake(view.frame.origin.x + view.frame.size.width + 10, view.frame.origin.y, labelsize.width, labelsize.height);
// 第二種:只能顯示一部分
nsdictionary *dic = [nsdictionary dictionarywithobjectsandkeys:label.font, @"nsfontattributename", nil];
cgrect frame = [str boundingrectwithsize:cgsizemake(1000, 1000) options:nsstringdrawinguseslinefragmentorigin attributes:dic context:nil];
frame.origin.x = view.frame.origin.x + view.frame.size.width + 10;
frame.origin.y = view.frame.origin.y;
label.frame = frame;
//第三種:比第二種顯示得更少一些
nsattributedstring*attrstr = [[nsattributedstringalloc] initwithstring:label.text];
label.attributedtext = attrstr;
nsrange range = nsmakerange(0, attrstr.length);
//獲取該段attributedstring的屬性字典
nsdictionary*dic = [attrstr attributesatindex:
0effectiverange:&range];
//計算文字的大小
cgsizetextsize = [label.textboundingrectwithsize:label.bounds.sizeoptions:nsstringdrawinguseslinefragmentoriginattributes:dic context:
nil].size;
label.frame = cgrectmake(view.frame.origin.x + view.frame.size.width + 10, view.frame.origin.y, textsize.width, textsize.height);
//第四種:算高
nsdictionary*dic = @;
cgrect rect = [self.evaldetail.descp boundingrectwithsize:cgsizemake(width - 20, 10000) options:nsstringdrawinguseslinefragmentorigin attributes:dic context:nil];
label自適應寬度
效果圖 後乙個文字是前乙個文字的後面 self namelb uilabel alloc init self namelb numberoflines 0 self namelb backgroundcolor uicolor redcolor self view addsubview self n...
讓Label的自適應文字,自動調整的高度
ios開發,在使用label過程中我們發現label有乙個numberoflines 的屬性,這用於設定label的行數。但在開發過程中,label中的內容有時是動態的,下面的 能夠實現label自動適應文字資訊,調整自己的行數。前提是label的寬度固定。uilabel label uilabel...
iOS 文字滾動的Label
在我們開發的過程中會遇到文字的長度大於label的寬度的情況,有三種處理方式 1 顯示不下的內容用 來代替 缺點 沒法顯示全內容 2 採取折行的方式 缺點 高度沒法確定,會影響其他內容的顯示 3 讓文字在label中滾動顯示,這種方式既節省了空間,又可以讓使用者看到所有的內容 其中方式3又可以有兩種...