2016-09-28 69 views
0

我上傳了兩張標籤「拾取位置」和「放置位置」的圖像。這個標籤在tableview單元格中設置。標籤不從左上角開始

在這張圖片:

enter image description here

這兩個標籤都設置有numberoflines = 3,但文本從中間

開始,我想這一點:

enter image description here

我已經設置了屬性numberofLines = 0和標籤高度> =的標籤。 但設置此屬性我必須找到標籤的實際高度與文本,然後根據標籤的高度我設置其他控件。 標籤高度是固定的:

Sizetofit沒有在這種情況下

我想要的工作。 NumberofLines = 3和標籤是從左上方

開始感謝你的幫助

回答

0

做的UILabel的一個子類,並調用它MyTopAlignedLabel。

然後添加到您的MyTopAlignedLabel.m文件:

- (void)drawTextInRect:(CGRect)rect { 

     if (self.text) { 
      CGSize labelStringSize = [self.text boundingRectWithSize:CGSizeMake(CGRectGetWidth(rect), CGFLOAT_MAX) 
                  options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading 
                  attributes:@{NSFontAttributeName:self.font} 
                  context:nil].size; 

      CGFloat height = MIN(ceilf(labelStringSize.height), CGRectGetHeight(rect)); 

      [super drawTextInRect:CGRectMake(0, 0, rect.size.width, height)]; 

     } else { 
      [super drawTextInRect:rect]; 
     } 
    } 

設置在Interface Builder的標籤,此類的。

+0

它不工作。 –

+0

它對我來說非常合適。你確定你已經在界面生成器中將標籤的自定義類設置爲「MyTopAlignedLabel」嗎? – norders

+0

雅,其工作,謝謝 –

相關問題