2011-01-23 11 views

答えて

12

実際のフォントサイズは、設定でユーザーの設定に依存します - > TextSize。通常、固定のフォントサイズは使用しないでください。

[UIFont preferredFontForTextStyle:UIFontTextStyleHeadline] 

明らかに必要なものによっては、次のようなものを使用してください。あなたがスタイルUITableViewCellStyleSubtitleUITableViewCellを作成する場合はとにかく、その後、cell.textのフォントが

[UIFont preferredFontForTextStyle: UIFontTextStyleBody] 

と同じオブジェクトであるとcell.detailTextLabelのフォントが同じオブジェクトである

[UIFont preferredFontForTextStyle: UIFontTextStyleCaption1]. 

としてあなた「Body」、「Subheadline」、「Footnote」、「Caption1」、「Caption2」で終わる定数を使用してフォントを最大から最小にすることができます。 "Headline"は "Body"と同じサイズですが太字です。

実行時にセルを作成し、そのセルからフォントを取得するのが最もよい方法です。

+0

"実行時にセルを作成し、そのフォントを取得するのが最善の方法です。"最後に、合理的なハードコーディングの考え方はありません。 – maganap

51

任意のフォントをコード内のこれらのラベルに設定することができます。固定値の保証が必要な場合は、多くの要素(セルのスタイル、sdkバージョン、osバージョンなど)によってサイズ値が異なる可能性があります。

私は4.2 SDKのバージョンでシミュレータ上でテストしてみた結果(余分なプロパティがセルに設定されなかった)次しまっ:

  1. UITableViewCellStyleSubtitle

    textLabel:ヘルベチカ太字、サイズ: labelFontSize + 1(18ピクセル)
    detailsLabel:ヘルベチカ、サイズ:systemFontSize(14ピクセル)

  2. UITableViewCellStyleValue1

    textLabel:ヘルベチカボールド、サイズ:labelFontSize(17ピクセル)
    detailsLabel:ヘルベチカボールド、サイズ:systemFontSize + 1(15ピクセル)

  3. UITableViewCellStyleValue2

    textLabel :Helvetica Bold、サイズ:smallSystemFontSize(12 px)
    詳細ラベル:Helvetica、サイズ:labelFontSize(17 px)

+0

どうやってこれを手に入れましたか?私はこれを記録しようとし、役に立たないフォントサイズ情報を得ました。 – Moshe

+0

@Moshe、率直に言えば、私はちょうど異なる値で遊んで、それらを視覚的にデフォルトのものと比較しました - そのような値が正確であることを100%保証しません – Vladimir

+0

「ベーシック」についてはどうですか? – lostintranslation

5

私はiPadの5.0シミュレータ上でこれを実行します。私が見る

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] 
      initWithStyle:UITableViewCellStyleValue2 
      reuseIdentifier:CellIdentifier] autorelease]; 

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
} 
//set text to get font size > 0 

NSLog(@"cellStyleValue2 text font: %@\n", cell.textLabel.font); 
NSLog(@"cellStyleValue2 detail font: %@\n", cell.detailTextLabel.font); 

cellStyleValue2テキストフォント:フォントファミリ: "ヘルベチカ"。 font-weight:太字;フォントスタイル:通常; font-size:12px

cellStyleValue2詳細フォント:font-family: "Helvetica"; font-weight:太字;フォントスタイル:通常;フォントサイズ: - >一般15ピクセル

これらのパラメータは明らかに異なりますので、フォントオブジェクトをログに記録することは推測作業をせずに知るための良い方法です...

関連する問題