gpt4 book ai didi

ios - 如果标签为空/ Storyboard,则使 UILabel 高度为零

转载 作者:可可西里 更新时间:2023-11-01 04:00:46 25 4
gpt4 key购买 nike

我在联系信息屏幕上堆放了很多标签。如果有任何标签是空的,我很乐意将它们的高度归零并让它们不占用任何空间以避免屏幕上出现空白空间。但是,我已经在 Storyboard 中创建了屏幕,并且已经为标签分配了高度和 y 值。

这是我一直试图用来改变标签高度但无法使其工作的代码。也许它被设计为仅适用于以编程方式创建的标签, Storyboard设置覆盖了我在这里所做的。

NSString *string = @"some text"; 
CGSize maximumLabelSize = CGSizeMake(280,1000);
 
// use font information from the UILabel to calculate the size
CGSize expectedLabelSize = [string sizeWithFont:myLabel.font constrainedToSize:maximumLabelSize lineBreakMode:NSLineBreakByWordWrapping];
 
// create a frame that is filled with the UILabel frame data
CGRect newFrame = myLabel.frame;

// resizing the frame to calculated size
newFrame.size.height = expectedLabelSize.height;

// put calculated frame into UILabel frame
myLabel.frame = newFrame;

如果标签为空,有没有办法让 Storyboard中创建的标签的高度归零?

最佳答案

您可以覆盖包含您的标签的 View 的以下方法并执行类似的操作:

-(void) layoutSubviews {
myLabel.frame = CGRectZero;
}

此方法是为了允许布局 subview 或您的 View 。现在我不知道您是否使用约束来定义标签的高度。如果是这样,您应该以相同的方式更改标签的高度。请注意,在上面的示例中,我使用了 CGRectZero

关于ios - 如果标签为空/ Storyboard,则使 UILabel 高度为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34592075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com