2016-11-24 4 views
0

として設定されたときにUItableViewCell.detailsTextLabel私は静的セルでUITableViewを持っている...tvOS:長さゼロの文字列がtvOS WT *誌のページから直接値

を表示されません。セルのスタイルはに設定されています。右の詳細は、textLabeldetailTextLabelのプロパティに2つのラベルインスタンス(Acutally UITableViewLabel)を追加します。私もカスタムテーブルビューのセルクラスを使用しているため、セルを初期化できます。私のクラスで

awakefromNib私はこのようなdetailTextLabelの値を設定しています:

NSString *detailValue = .... // loaded from somewhere else. 
self.detailTextLabel.text = detailValue; 

は、これは、それは奇妙な取得しましたさ。 detailValuenilまたは@""の場合、詳細ラベルはUIに表示されません。 Revealを介してUIを見ると、ビュー階層から消えてしまいます。

私がしようとし、このようにそれを設定した場合:

self.detailTextLabel.text = @"abc"; 

それはまだ表示されません。そしてもっともふさわしいのは、detailTextLabelプロパティのテキスト値がabcUITableViewCellインスタンスですが、サイズは{0,0}です。

ただし、detailTextValueの初期値が少なくとも1文字の文字列に設定されている場合、値を更新すると通常は機能し、サイズが変更されます。

誰でも知っていますか?

+1

プロジェクトで使用している完全な方法を教えてくださいましたか? –

+0

これは普通ですが、テキストがnilの場合はラベルの高さや幅がありません。値を指定する必要がある場合は、再ロードまたはbegin/end updateによってセルを再レイアウトする必要があります。 – Tj3n

+0

これはiOS 8の問題であり、9で解決されたことを示しています。まだtvOS 10に存在するようです。 – drekka

答えて

0

初期表示後にラベルを設定すると、次のコードを追加することで修正されました。

if (self.detailTextLabel.superview == nil) { 
     [self setNeedsLayout]; 
    } 

ありがとうございます。