2010-01-19 89 views
10

我在我的應用程序中在我的UITableView中使用了一個UITableViewCellStyleValue2單元格,我希望左列(藍色文本 - self.textField)比默認值窄得多。我已經嘗試在創建單元格後設置self.textField.bounds,但是這似乎不起作用 - 在調試器中看起來沒有設置邊界。如何更改UITableViewCellStyleValue2單元格上標籤的大小? (UITableView iPhone)

我可以用這種方式編輯默認的單元格類型,還是應該創建自己的UITableViewCell的子類?

謝謝。

回答

18

您可以繼承UITableViewCell並仍然使用UITableViewCellStyleValue2。然後,您可以覆蓋layoutSubviews方法來更改標籤的大小:

- (void) layoutSubviews { 
    [super layoutSubviews]; // layouts the cell as UITableViewCellStyleValue2 would normally look like 

    // change frame of one or more labels 
    self.textLabel.frame = CGRectMake(...); 
    self.detailTextLabel.frame = CGRectMake(...);  
} 
+0

感謝felix。這完美的作品.. :-) – 2010-01-19 12:57:49

+2

p.s.:你不應該做任何事情比改變框架在這裏。如果你想改變字體(大小),你應該在創建/加載單元格時執行此操作。 – FelixLam 2010-01-19 14:51:04

+0

是的 - 這是有道理的。乾杯! – 2010-01-19 19:10:18

相關問題