UITableView
一部のテキストのみを含むセルがいくつかあります。セル内のテキストはセルの中央に垂直に配置されていますが、使用されているフォントが原因で見栄えがよくありません。テキストが少し上にずれているように見えます。
テキストが実際にセルの中央 (垂直方向) に表示されるように、テキストのベースラインを調整する必要があります。
テキストは次のように設定されます。
cell.textLabel.text = //some text
私がこれまでに試したこと:
frame
ラベルのプロパティを調整(cell.textlabel
) - y 座標にオフセットを追加します。セルを再利用し、セルが表示される前にフレームが再計算されるため、うまくいきませんでした。UILabel
の代わりにカスタムを使用cell.textLabel
し、セルのサブビューとして追加します。UITableView
が編集モードに設定されている場合、これはうまく機能しませんでした- カスタムUILabel
は赤のときにフレームを調整しませんでした - 削除アイコンが表示されました。cell.textLabel.attributedText
属性の代わりに設定して、属性をcell.textLabel.text
使用NSBaselineOffsetAttributeName
してオフセットを設定しようとしました。ただし、XCode は他のすべての属性名を認識しますが、これはUse of undefined identifier NSBaselineOffsetAttributeName というエラーで認識されません。定数はどこにも非推奨としてマークされていませんが、iOS 6.0 SDK リリース ノートでは、互換性の問題により、このNSBaselineOffsetAttributeName
属性は iOS 6 ではサポートされなくなっていることがわかりました。
表のセルに含まれるテキストにベースライン オフセットを適用する方法についての提案は大歓迎です。ソリューションは iOS SDK 6.0 と互換性がある必要があり、iOS SDK 7.0 との互換性があると便利です。