次のコードで行の高さを変更するNSTableViewがあります。
- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
return 32;
}
問題は、テキストセルがまだセルの上部に配置されているため、見栄えが悪いことです。私はそれを垂直に中央に置く方法を理解することができませんでした。他の誰かがこれに対する解決策を見つけましたか?
次のコードで行の高さを変更するNSTableViewがあります。
- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
return 32;
}
問題は、テキストセルがまだセルの上部に配置されているため、見栄えが悪いことです。私はそれを垂直に中央に置く方法を理解することができませんでした。他の誰かがこれに対する解決策を見つけましたか?
「NSTextFieldCell でテキストを垂直方向に中央揃えに描画する「正しい」方法はありますか?」を参照してください。
現在、パブリック API だけを使用する簡単な方法はありません。上記のリンクされた質問は、文書化されていないフィールドが機能するための最も簡単な方法であると述べていますが、サポートされておらず、正しく_cFlags.vCentered
機能することが保証されていません。また、メソッドをオーバーライドすると、コードが AppKit の動作から逸脱することに注意してください。
これについてレーダーを提出しました:
http://openradar.appspot.com/9028329 NSCell でテキストを垂直方向にセンタリングするためのパブリック API を追加
編集:ここにいくつかの追加の関連リソースがあります:
http://www.red-sweater.com/blog/148/what-a-difference-a-cell-makes
http://www.cocoabuilder.com/archive/cocoa/174994-repositioning-an-nstextfieldcell.html