程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> objective c-添加多個UILabel,其中每個label有不同行

objective c-添加多個UILabel,其中每個label有不同行

編輯:編程綜合問答
添加多個UILabel,其中每個label有不同行

應用中有一個視圖,我想設置一些標簽,但是每個標簽的數量和文本長度都不一樣。

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了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved