2011-04-05 23 views
1

我這樣做是爲了讓我的UIlabel後,設置numberOfLines爲0,所以它沒有線路限制:獲取從一個UILabel的numberOfLines調整其大小

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]; 

,我的特定用途,我需要知道有多少行這最終服用。

如果我訪問UILabelnumberOfLines屬性將始終返回0

有沒有辦法讓我直接訪問的UILabel多少行結束了,而不必來計算的話,再次 ,由去label.size.height/fontHeight?

預先感謝您。

回答

1

編號numberOfLines是一個配置設置,不是當前格式的反映。

+0

這使我留下了int numLines =(int)(self.nameLabel.frame.size.height/self.nameLabel.font.leading); :(謝謝 – RickiG 2011-04-05 15:11:43

+0

是的,文本(格式化/佈局)控制留下了許多不足,順便說一句,你可能需要做一些舍入/欺騙,領先是不贊成IIRC。 – 2011-04-05 15:23:35

相關問題