iOS中的标签高度问题?

时间:2016-03-18 05:32:43

标签: ios objective-c iphone ipad

我在父视图中垂直添加了4个视图。我已将它们放在约束

之下
  1. 与父母相等的宽度
  2. 修复高度70
  3. 视图之间的垂直边距
  4. 父视图的中心x
  5. 现在标签中的文字可以增长它不是静态的。到目前为止,标签内的文字显示垂直居中所以我添加了下面的代码,使文字对齐到标签的顶部而不是在标签的垂直中心显示

    //Calculate the expected size based on the font and linebreak mode of your label
    // FLT_MAX here simply means no constraint in height
    CGSize maximumLabelSize = CGSizeMake(296, FLT_MAX);
    
    CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font constrainedToSize:maximumLabelSize lineBreakMode:yourLabel.lineBreakMode];   
    
    //adjust the label the the new height.
    CGRect newFrame = yourLabel.frame;
    newFrame.size.height = expectedLabelSize.height;
    yourLabel.frame = newFrame;
    

    如果我使用带有标签的上面的代码,那么它给出了67.201的高度,包含一些文字,但高度应该更高,因为文本更多,但如果我不使用上面的代码,则文本垂直放置在标签内。

    我想让文字顶部对齐标签而不是垂直居中。所以标签的高度应该减少它不应该有任何顶部,底部填充。

1 个答案:

答案 0 :(得分:0)

您无法将文字与标签顶部对齐,只会降低其整体高度。 您可以使用具有固定高度的容器视图来模拟效果,并让标签在该视图内自由调整。

看看这个问题:Vertically align text to top within a UILabel