在我的应用程序中,我有 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.height
和 myLabel.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/