UILabel不会调整大小

时间:2014-08-22 13:31:40

标签: objective-c cocoa uilabel uitextview sizetofit

我的视图中有UILabel应根据内容调整自身大小,但它没有这样做。我有多行内容。我尝试了[label sizeToFit] + label.numberOfLines= 0

我没有UILabel的限制。

我也尝试使用UITextView,但是字体只保留在13而不是我想要的17.你能帮助我吗?

这是现在可以使用的代码:

UILabel *textLabel2 = [[UILabel alloc] initWithFrame:CGRectMake(20, 158, self.view.bounds.size.width-40, 550)];
textLabel2.text = textString;
textLabel2.font = [UIFont fontWithName:@"Helvetica Neue" size:17];
textLabel2.numberOfLines = 0;
[textLabel2 sizeToFit];
[self.scroller addSubview:textLabel2];

1 个答案:

答案 0 :(得分:1)

如果您以编程方式创建UILabel

此代码首先设置UIlabel的文本然后获取文本的宽度

UILabel *label = [[UILabel alloc] init];
//set label backgroundColor so you can see the label width changes according to text
[label setBackgroundColor:[UIColor redColor]];
//edit you label text
[label setText:@"very longgggg text"];

//get width of you text and set you font size to 17.0
CGFloat width =  [label.text sizeWithFont:[UIFont systemFontOfSize:17.0f]].width;

//set you label frame
label.frame = CGRectMake(10, 200, width, 30);

//add label to you view
[self.view addSubview:label];

如果您未创建UILabel,请以编程方式删除alloc init行并将您的插座连接到您的xib或故事板。