2013-08-28 49 views
0

我試圖將三個UILabel放在iOS6表格的一個單元格中。第一個是數字,位於左側,第二個是標題,位於第一個旁邊,第三個位於單元右側。 日期和標題根據文本的長度正確調整大小,但是當標題是長的標題時,它應該在日期之前截斷,而不是在日期中顯示。表格單元格中的多個可自動調整大小的UILabels

如何在日期前截取標題?我也嘗試設置其幀寬,並使用sizeToFit,但沒有效果。

回答

0

只是用這個條件你TitleLabel的擴展:

titleLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 10, 20)]; 
    dateLabel=[[UILabel alloc]initWithFrame:CGRectMake(160,0, 160, 20)]; 
    [self.view addSubview:titleLabel]; 
    [self.view addSubview:dateLabel]; 
    [email protected]"sjlkfdsfjdfkdlfjlkdsjflkdfjkldsfkdjfkljdslkjflkdslkf"; 
    [email protected]"fmldf"; 
    [titleLabel sizeToFit]; 
    if(titleLabel.frame.origin.x+titleLabel.frame.size.width>dateLabel.frame.origin.x) 
    { 
     titleLabel.frame=CGRectMake(titleLabel.frame.origin.x, titleLabel.frame.origin.y, 
      dateLabel.frame.origin.x-titleLabel.frame.origin.x-5, 20); 
    } 
    else 
    { 
     [titleLabel sizeToFit]; 
    } 
+0

frame.size.width是一個只讀屬性,此外我指出設置框架和使用sizeToFit根本沒有任何作用。無論如何感謝您 –

0

試試這個:

myLabel.adjustsFontSizeToFitWidth = YES; 

編輯

cell.YOURLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin; 

OPTION 2

[YOURLabel sizeToFit]; 
+0

這不會改變只有字體大小?我需要調整標籤的寬度以適合數字和日期 –

+0

@AlessandroRoaro,只需查看我的最新答案即可。 – user1673099

0

只需將標題標籤設置爲Interface Builder中允許的最大寬度,並將Line Breaks選項設置爲所需的截斷模式。或者,您是否希望根據日期標籤的寬度來改變最大允許寬度?

+0

我已經嘗試過 - 這似乎是一種明顯的方式...但由於某種原因,當我這樣做時,號碼的標籤不會再調整大小 –

+0

然後可能是您需要修復問題與數字標籤。我不認爲標題標籤不應該影響數字標籤,除非您使用自動佈局,在這種情況下,您需要重新審視您的限制條件。 –

相關問題