UITableViewCellStyleSubtitle で UITableViewCell を使用しています。ただし、セルに使用している背景画像のせいで、detailTextLabel の配置場所が気に入りません。セル内で移動してサイズを変更したいのですが、何をやってもうまくいかないようです。
CGRect currRect = cell.detailTextLabel.frame;
cell.detailTextLabel.frame = CGRectMake(currRect.origin.x + 20, currRect.origin.y, currRect.size.width - 40, currRect.size.height);
このコードを tableView:cellForRowAtIndexPath メソッドと tableView:willDisplayCell:forRowAtIndexPath メソッドの両方に挿入してみましたが、どちらも機能しません。ラベルはそのままの位置に留まり、サイズも同じままです。
ラベルの他のプロパティ (textAlignment、backgroundColor、そしてもちろんテキスト自体) の調整は正常に機能します。
detailTextLabel を必要な場所に移動するにはどうすればよいですか?
これが問題になる場合(なぜ問題になるのかはわかりませんが)、この特定のセルには imageView.image および backgroundImage プロパティも設定されています。両方の画像が正しく表示されます。
ベストアンサー1
インデントとインデント レベルを使用してラベルを調整してみることもできます。
cell.indentationWidth = MY_DESIRED_WIDTH;
cell.indentationLevel = 1;
(インデントされていないセルの場合)
または、インデントされたセルの場合は次のようにします。
cell.indentationLevel = cell.indentationLevel + 1;
どちらもラベルをシフト/インデントする必要があります。