2011-11-21 37 views
0

有沒有辦法讓一行上的文本佔據整個空間,取決於模式(橫向或縱向),而不需要在每個字符後面插入一個新行?iOS動態行寬

這是它在縱向模式下的外觀;

portrait mode

而且在景觀;

landscape mode

正如你所看到的,在橫向模式下,文本格式不正確。

+0

您的自定義單元格中的layoutSubviews方法未正確實施。在你爲你的單元格做佈局的部分粘貼一些代碼。另外,對於您的情況,可以將標籤設置爲使用靈活寬度的自動調整掩碼。 (這樣每次你重繪單元格的時候它都會佔用剩下的空間) – Vlad

回答

2

如果您有一個UITableViewCell子類,您需要覆蓋子類中的layoutSubviews方法。

如果要在tableView:cellForRowAtIndexPath:方法中向表格單元添加子視圖,請在文本標籤上使用label.autoresizingMask = UIViewAutoresizingFlexibleWidth

如果在界面構建器中佈置單元格,請確保已在文本標籤上設置自動調整錨點,以便在其超級視圖展開時展開。您將在Xcode 4.2中的Utilities窗格的第五個選項卡(帶有統治者圖像的選項卡)中找到自動調整錨點。