我正在爲客戶端編寫iOS應用程序,主視圖是表格視圖,我用文本填充單元格,非常像大多數iOS Twitter客戶端。iOS自定義表格視圖單元格標籤調整大小損壞
我已經創建了一個帶有3個標籤的自定義單元格視圖,並且我用這些文本填充了這些標籤。其中一個標籤需要根據文本數量自動調整大小(最多140個字符)。
這工作正常,直到我滾動向上/向下滾動列表時,文本擴展到一個完整的行(如標籤已擴展)或只佔用部分空間,所以它結束了更深,溢出到其他標籤(我確實有「剪輯子視圖」按照另一個相似的,所以問題啓用)
所以當表和它的數據首先被加載的屏幕看起來像:
before scrolling http://lloydsparkes.co.uk/files/iOS-BeforeScrolling.png
,有點滾動後它看起來像:
after scrolling http://lloydsparkes.co.uk/files/iOS-AfterScrolling.png
因此,看起來標籤在滾動過程中調整大小(可能是由於同一個單元被重用?),而不是調整回正確的大小。
我對填充單元代碼是:
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *myID = @"customCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myID];
if(cell == NULL) {
[[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:self options:nil];
cell = customCell;
self.customCell = nil;
}
Post *p = [posts objectAtIndex:indexPath.row];
UILabel *label = (UILabel*)[cell viewWithTag:15];
label.text = p.Name;
label = (UILabel*)[cell viewWithTag:10];
label.text = p.Text;
[label sizeToFit];
label = (UILabel*)[cell viewWithTag:20];
label.text = [p Source];
//[cell layoutSubviews];
return cell;
}
因此,我是問,是什麼原因造成這個問題?如何解決?
真的能行之前設置
label
對象的框架回原來的大小(valeu在NIB文件中設置)? 'cell = customCell;''customCell'似乎永遠不會分配給任何東西 –customCell是我的控制器的屬性,它通過IB連接到實際視圖,所以當Nib被加載時它被附加到該屬性 - 希望我已經解釋正確.... – lloydsparkes