我正在使用靜態UITableview,設置在故事板中。對於一些細胞(風格=右細節)我設置detailTextlabel.text在viewWillAppear中是這樣的:detailTextLabel最初沒有顯示
self.recentProductsCell.detailTextLabel.text = description;
該單元的標籤不顯示。如果我NSLog文本顯示它確定。 我檢查了detailTextLabel沒有隱藏。 我沒有更改故事板中的任何其他屬性。 單元格有一個detailDisclosure附件,但將其設置爲別的沒有幫助。
然後奇怪的事情: 如果我運行並且detailTextlabel不顯示,我通過點擊它並移動手指來選擇該行。從那開始detailTextLabel確實顯示!即使隱藏和重新顯示視圖,標籤仍然可見。然而,重置並在代碼中設置它會使標籤再次消失。
我可能做錯了什麼,或者這是一個錯誤?
編輯:檢查5.0和5.1,同樣的行爲。 我通過在viewWillAppear中的代碼中選擇並取消選擇此行,發現了一個醜陋的解決方法。所以我補充說:
[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:3 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
[self.tableView deselectRowAtIndexPath: [NSIndexPath indexPathForRow:3 inSection:0] animated:NO];
它的工作原理,但我可以看到該行被選中和取消選擇。所以我也改變了selectionStyle,但是現在這行在顯示視圖時閃爍。
額外的評論:在相同的viewWillAppear中,我設置了其他靜態單元格的detailLabel,並且它們顯示得很好。
您可以發佈相關的代碼(如果有的話)以創建和重用細胞嗎?至於爲什麼會發生這種行爲,我仍然有一些理論,但我需要看到更多的代碼來指明它。 – Sam 2012-04-03 18:12:59
對不起。也許在復活節之後,小節假日即將到來。我覺得這很奇怪,我想嘗試從頭開始重新構建項目並向Apple提交錯誤報告。只是爲了體驗。但這需要一些時間。也許是星期二。感謝您的關注。 – Bjinse 2012-04-04 21:18:03