2017-08-09 23 views
0

に私はタイマーでアプリを持っています。このタイマーは、ビューの中央に表示されます。 macOSのデフォルトフォントがHelvetica Neueの場合、これはうまくいきました。フォントの数字は均等に配置されているように見えるので、タイマーが実行されているときは、すべてがそのまま残ります。デフォルトのフォントとしてサンフランシスコで今固定間隔の数字はAppKitの

、これが壊れています。これまでの数値は異なる幅を持つように見え、実行中にタイマーのサイズが連続的に変化しました。フォントをHelvetica Neueにハードコーディングすると問題は解決しますが、OSにデフォルトのフォントを使用したいと思います。

NSTextFieldで設定できるヒントはありますか?以前のような固定幅の数値を持つデフォルトのシステムフォントをレンダリングすることはできますか?私はこれが利用可能であることを覚えているようですが、私はそれを見つけることができません。私は固定幅のフォントを使用したくはありません。それは美的感覚を壊すからです。 iOSのストップウォッチアプリが何とかこれをやっているようだ。

答えて

1

使用NSFont

  • スウィフト

    class func monospacedDigitSystemFont(ofSize fontSize: CGFloat, weight: CGFloat) -> NSFont 
    
  • のObjective-C

    このクラスのメソッド
    + (NSFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight; 
    

利用可能なMacOSの10.11+

+0

はい!それはまさに私が探していたものです。ありがとうございました! –

関連する問題