use*_*812 7 iphone xcode storyboard
我试图通过UILabel显示可变高度的文本量.
我通过将Xcode的故事板和编码直接组合到实现文件中来设置所有内容.
这是代码:
CGRect labelFrame = CGRectMake(20, 20, 280, 800);
descriptionLabel.frame = labelFrame;
NSString *description = self.spell[@"description"];
descriptionLabel.text = description;
[descriptionLabel setNumberOfLines:0];
[descriptionLabel sizeToFit];
Run Code Online (Sandbox Code Playgroud)
我试过改变wordwrap功能,尝试使用很多不同的设置,但无济于事.
故事板中是否需要特定的内容?
我的视图 - >标签的结构是否重要?
我有它,以便标签在视图中(占据整个屏幕).
1ac*_*lus 10
您无需手动计算高度.对于可变高度,请在调用之前将标签的高度设置为0 sizeToFit,如下所示.
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 280, 0)];
label.numberOfLines = 0;
label.text = @"Some long piece of text...";
[label sizeToFit];
Run Code Online (Sandbox Code Playgroud)
小智 8
我正在使用SWIFT,我遇到了同样的问题.我添加后修好了layoutIfNeeded().我的代码如下:
self.MyLabel.sizeToFit()
self.MyLabel.layoutIfNeeded()
Run Code Online (Sandbox Code Playgroud)
我尝试创建同样的东西,它对我来说完全正常。(我的应用程序中没有故事板,但我认为它不会影响任何事情。)
UILabel *bioLabel = [[UILabel alloc] init];
CGRect labelFrame = CGRectMake(0, 100, 320, 500);
bioLabel.frame = labelFrame;
NSString *bio =@"YOUR_TEXT_HERE";
bioLabel.text = description;
[bioLabel setNumberOfLines:0];
[bioLabel sizeToFit];
[self.view addSubview:bioLabel];
Run Code Online (Sandbox Code Playgroud)