この問題は私をナットにしています。UITableViewCellサブビューは再描画まで表示されません
私はストーリーボードにUITableViewCellというプロトタイプを持っています。これには複数のサブビューが含まれています。サブビューの1つ、UILabelは、誤動作しています。
テーブルビューが読み込まれて最初に表示されると、すべてのセルが正常に表示されます。しかし、テーブルビューが下にスクロールすると、最終的にUILabelサブビューなしでセルの1つが表示されます。それは常にリサイクルされている最初のセルであるようです。
しかし、テーブルビューをスクロールダウンしても、誤ったセルがテーブルビューの上部で切り取られると(画面の上からスクロールされるとすぐに)、ラベルは表示されたとおりに表示されます。
したがって、ラベルはそこにあり、cellForRowAtIndexPathメソッドで割り当てられた文字列を受け取ります。何らかの理由で描かれていないだけです。私はさまざまな場所にsetNeedsDisplayメッセージを挿入しようとしましたが、それは助けにはなりません。
また、別のビューコントローラのストーリーボードで重複するビュー階層を持つ非常に同じUITableViewCellサブクラスを使用していて、そこに問題はありません。
私はこの謎を解き明かすためにどのように考え始めることができますか?
ありがとうございます!
tableView:cellForRowAtIndexPath?で初期化した後、テーブルセルまたはサブビューを変更していますか? –
私は午前中です。私はラベルのテキストを設定して、他のカスタムUIViewサブクラスでいくつかのことをやっています。そのすべてがうまく動作します。描かれていないのは単なるUILabelです。 – CharlieMezak
私は本当に似たようなことをしています。 1つの特定のセルでは、1つのラベルは描画されません。私がコードを壊してしまった場合、セルは完全にうまく見えます。 setNeedsDisplayを実行すると、それが表示されます。私を運転するナッツ! – jasongregori