2017-04-21 15 views
0

私はMac OS用のアプリである私の最初のSwiftプロジェクト(hooray)に取り組んでいます。私が今やりたいことは、白いテキストカラーとカスタムフォントでいくつかのボタンを作成することです。いくつかのデータを保持するためにそのボタンに新しい属性が必要なので、子クラスをNSButtonにしました。魅力のように働いたNSButtonのフォントサイズを変更しても何も変わらない

super.font = NSFont(name: "NB-International-Pro", size: 40) 

は今、私はこのようなボタンのフォントを設定することができることを知っています。その後、私はこれを行うことによって、テキストの色を変更しようとしました:仕事をした

let pstyle = NSMutableParagraphStyle() 
pstyle.alignment = .center 
super.attributedTitle = NSAttributedString(string: (device?.name)!, attributes: [ NSForegroundColorAttributeName : NSColor.white, NSParagraphStyleAttributeName : pstyle ]) 

を、そしてそれは、テキストの色を変更しました、しかし、今のフォントとフォントサイズがデフォルトに戻します。両方を行うオプションはありますか?

ありがとうございました。おそらくあなたが作ることができるいくつかの改善があることを越えて

attributedTitle = NSAttributedString(string: (device?.name)!, attributes: [ NSForegroundColorAttributeName : NSColor.white, NSParagraphStyleAttributeName : pstyle, NSFontAttributeName: "NB-International-Pro", NSFontSizeAttribute: 40]) 

NSFontAttributeNameNSFontSizeAttributeキーを使用して、あなたのNSAttributedStringを作成するときに代わりに最初のフォントを設定する

+0

NSButtonをサブクラス化する必要はありません。 XIBファイルで簡単に実行できます。 Interface Builderのプロパティインスペクタで、ボタンを選択し、タイプをMomentary Changeに設定して、Alternateの下にImageとbuttonicon2の下にbuttoniconと入力します。 – KKRocks

答えて

0

は、あなたの属性でフォント名とサイズを含めますあなたのコードのアーキテクチャのサブクラス化は、テキストスタイルを変更するだけでは必要ありません(.xibまたはビューコントローラで行うことができます)。

関連する問題