2013-06-18 237 views
0

我試圖通過將標籤移動到右側爲紅色刪除圖標創建空間來動態定製UITableViewCell的內容。這個運動效果很好,但整個文本被截斷了,這是不應該的,沒有理由爲什麼它會這樣做,因爲有足夠的空間。這就是它看起來像在編輯狀態UITableViewCell setEditing截斷標籤

enter image description here

這是我的代碼

-(void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 

    if (editing) { 
     self.image.alpha = 0.0; 
     self.textLabel.frame = CGRectMake(15, 0, 30, 44); 
    } else { 
     self.image.alpha = 1.0; 
     self.textLabel.frame = CGRectMake(10, 0, 30, 44); 
    } 
} 

我在做什麼錯在這裏?非常感謝你!

+0

嘗試增加標籤的寬度... CGRectMake(15,0,50,44); –

+0

當我使用CGRectMake(15,0,50,44)時,只有一個字母可見。當我使用第二個提示時,單元格中帶有「刪除圖標」的標籤不會被截斷,但其他單元格中的所有其他標籤仍然會被截斷。 – Linus

+0

您是否爲所有標籤做過標籤,或者只在帶有刪除圖標的單元格中標籤? – Geek

回答

1
-(void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 

    CGRect frame = CGRectZero; 

    if (editing) { 
     self.image.alpha = 0.0; 
     frame.origin = CGPointMake(15, 0); 

    } else { 
     self.image.alpha = 1.0; 
     frame.origin = CGPointMake(10, 0); 
    } 

    frame.size = [self.textLabel.text sizeWithFont:self.textLabel.font]; 
    self.textLabel.frame = frame; 
} 
+0

哇,這就是它,標籤不會被截斷。非常感謝!使用上面的代碼,帶有刪除圖標的標籤會稍微移動一下。我改變了以下內容以解決它:frame.origin = CGPointMake(15,10); – Linus

2

嘗試使用這樣的:

self.textLabel.numberOfLines = 0; 
[self.textLabel sizeToFit]; 

或者你可以試試這個:

self.textLabel.center = CGPointMake(self.textLabel.center.x + 5, self.textLabel.center.y); 

或者你可以試試這個:

self.textLabel.frame = CGRectMake(self.textLabel.origin.x + 5, self.textLabel.origin.y, self.textLabel.bounds.size.width, self.textLabel.bounds.size.height); 

或者你可以試試這個:

CGSize textSize = [self.textLabel.text sizeWithFont:self.textLabel.font constrainedToSize:self.textLabel.bounds.size lineBreakMode:self.textLabel.lineBreakMode]; 
self.textLabel.frame = CGRectMake(self.textLabel.origin.x + 5, self.textLabel.origin.y, self.textLabel.bounds.size.width, textSize.height); 
+0

感謝您的建議,當我使用此代碼時,第一個單元格中的標籤顯示爲2(短)行,其他標籤仍然被截斷。 – Linus

+0

@LinusAn看到我的編輯與另一個選項。 – Geek