如何在设置框架后更改标签的宽度?并获得NSString的宽度

时间:2012-11-09 10:47:08

标签: objective-c ios6 uilabel xcode4.5

希望你做得很好。

我正在设置标签并调整其框架..

UILabel *mylabel=[[UILabel alloc]init];
    mylabel.Text=@"This is my label";
    mylabel.frame=CGRectMake(10,10,200,21);

现在如果我从像我这样设置的任何字符串中更改Label的文本

NSString *mystring=@"This is my first string that is to be assigned to my label dynamilcally";
mylabel.Text=mystring;
mylabel.frame.size.width=mystring.length;

但没有任何反应。标签的宽度保持为200,正如我在初始化时设置的那样。

这还需要获得 mystring 宽度。怎么做到的?

感谢期待帮助我。

1 个答案:

答案 0 :(得分:0)

[myLabel sizeToFit]如果您需要一行。对于多行标签,您可以使用NSString的{​​{1}}功能来获取字符串的大小,并使用它来修改标签的高度和宽度。宽度。

e.g。代码,为您提供固定宽度为200px的多行标签的高度:

sizeWithFont:constrainedToSize:lineBreakMode: