bluetooth99 2013-01-14 03:16 采纳率: 0%
浏览 3273
已采纳

添加多个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。不知道怎么实现?

  • 写回答

2条回答 默认 最新

  • lwq421336220 2013-01-14 04:36
    关注

    这里只说对于一个标签的高度的判断,你可以根据第一个标签的高度去设置第二个标签的位置,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条)

报告相同问题?

悬赏问题

  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算