调整大小后,从UILabel获取numberOfLines

时间:2011-04-05 14:15:45

标签: ios uilabel

我这样做是为了UIlabel,将numberOfLines设置为0,使其没有行限制:

    UILabel *nmLbl = [[UILabel alloc] initWithFrame:CGRectZero];
    [nmLbl setFont:[UIFont boldSystemFontOfSize:16.0f]];
    [nmLbl setNumberOfLines:0];
    [self addSubview:nmLbl];
    [nmLbl release];

稍后,当我知道哪个字符串进入标签时,我将其大小调整为:

    nameSize = [[self name] sizeWithFont:[UIFont boldSystemFontOfSize:16.0f] constrainedToSize:maxNameSize lineBreakMode:UILineBreakModeWordWrap];
    [self.nameLabel setFrame:CGRectMake(0.0f, 0.0f, nameSize.width, nameSize.height)];
    [self.nameLabel sizeToFit];

现在,对于我的特殊用途,我需要知道最终需要多少行。

如果我访问numberOfLines的{​​{1}}属性,它将始终返回0.

我有没有办法直接访问UILabel最终没有多少行 必须再次通过去标签.size.height / fontHeight?

来计算它

提前谢谢。

1 个答案:

答案 0 :(得分:1)

没有。 numberOfLines是一个配置设置,而不是当前格式的反映。