UILabel 不会调整大小
Posted
技术标签:
【中文标题】UILabel 不会调整大小【英文标题】:UILabel won't resize 【发布时间】:2014-08-22 13:31:39 【问题描述】:我的视图中有 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];
【问题讨论】:
看类似问题的答案-***.com/questions/5041874/… 【参考方案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 或情节提要。
【讨论】:
成功了!但我有一个问题!当我进入横向模式时,右侧有一个大洞。我怎样才能更新它,以便文本向右移动,就像我在 IB 中做一个约束,说 Trailing Space to Container? 好的,我现在以编程方式创建了 UILabel。我会将代码附加到问题中,以便您了解我的代码。我的问题是,当我在横向模式下使用应用程序时,我的文本直到整个宽度都不会出现,它在视图的大约 3/4 处结束。我怎样才能改变它,让它一直到视图结束?以上是关于UILabel 不会调整大小的主要内容,如果未能解决你的问题,请参考以下文章
从 Nib 加载的 UITableViewCell 中的 UILabel 大小调整