應用中有一個視圖,我想設置一些標簽,但是每個標簽的數量和文本長度都不一樣。
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];
label.text = @"Varying text length here";
label.numberOfLines = 0;
[label sizeToFit];
[[self view] addSubview:label];
每個標簽有1-4行,通過編程的方法添加新標簽到現有標簽下方,間距為25。不知道怎麼實現?
這裡只說對於一個標簽的高度的判斷,你可以根據第一個標簽的高度去設置第二個標簽的位置,LABLE_WIDTH標簽的長度,FONT_SIZE標簽中字體的大小。
int a=0;
NSString *s=@"aaaaaaasdgaiugfiafhoauifhowaruifhoauihgvabviapbviaudvbiadfuviufvapiufhvial";
if (s.length%(LABLE_WIDTH/FONT_SIZE)==0) {
a=s.length/(LABLE_WIDTH/FONT_SIZE);
}else {
a=s.length/(LABLE_WIDTH/FONT_SIZE)+1;
}
UILabel *lab=[[[UILabel alloc]initWithFrame:CGRectMake(5, b, LABLE_WIDTH, a*FONT_SIZE_HIGHT)]autorelease];
lab.font=[UIFont systemFontOfSize:FONT_SIZE];
lab.numberOfLines=a;
lab.text=s;
這樣就可以讓標簽的行數與高度根據內容來定,然後根據這個標簽去確定下一個標簽的位置就ok了。