ios - 动态调整 UILabel 的大小

标签 ios uilabel

在我的应用程序中,我有 4 个标签,我需要将它们添加到紧靠前一个标签的下方。问题是这些标签动态填充了文本,我不知道标签的大小。

例如,在下面的代码中我有 2 个标签 - myLabel 和 titleLabel。我需要将 titleLabel 紧贴在 myLabel 下方,但问题是后者的高度不同。所以我无法给出 titleLabel 的 y 坐标。

CGRect labelFrame = CGRectMake(22, 50, 280, 150);
UILabel *myLabel = [[UILabel alloc] initWithFrame:labelFrame];
[myLabel setText:finalIngredients];
[myLabel setBackgroundColor: [UIColor lightGrayColor]];
[myLabel setFont:[UIFont fontWithName:@"Helvetica" size:15]];
[myLabel setNumberOfLines:0];
[myLabel sizeToFit];
[self.view addSubview:myLabel];


CGRect titleLabelFrame = CGRectMake(0, 25, 400, 15);
UILabel *titleLabel = [[UILabel alloc] initWithFrame:titleLabelFrame];
[titleLabel setText:title];
[self.view addSubview:titleLabel];

谢谢

最佳答案

利用myLabel.bounds.size.heightmyLabel.frame.origin.y获取 myLabel 的高度和起始 y 坐标, 分别。据我所知,当您调用 sizeToFit 时,它们会动态变化。 (例如)。在您的情况下,您可以简单地更改行

CGRect titleLabelFrame = CGRectMake(0, 25, 400, 15);

CGRect titleLabelFrame = CGRectMake(0, myLabel.frame.origin.y + myLabel.bounds.size.height, 400, 15);

关于ios - 动态调整 UILabel 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279140/

相关文章:

ios - 如何加快音频文件的加载速度,以便用户无需等待。

iOS AVFoundation : Get AVCaptureDevice. 格式的视频尺寸

ios - 在组的 subview 中设置辅助功能标签的顺序,通过 Voiceover 大声朗读?

ios - 在 map View 上显示比例

ios - UILabel 垂直对齐

ios - UILabel 文本的多种文本颜色在 swift 3.0 中不起作用

ios - 以编程方式创建 UILabel、UITextField 等时的图形错误

iphone - SQLite - 从表中检索经纬度集

ios - AVVideoCompositionCoreAnimationTool 中的 CALayer 实时模糊

iOS:如何检查流连接是否超时