私はMacOSアプリケーションを作成していて、NSSearchField(searchFieldという名前)のフォントをスタイリングするのに問題があります。次のように私のコードは、これまでのところです:スタイルプレースホルダテキストNSSearchFieldおよびNSTextField?
単一のメインのViewControllerクラスの先頭で宣言:のviewDidLoadで宣言
let normalTextStyle = NSFont(name: "PT Mono", size: 14.0)
let backgroundColour = NSColor(calibratedHue: 0.6,
saturation: 0.5,
brightness: 0.2,
alpha: 1.0)
let normalTextColour = NSColor(calibratedHue: 0.5,
saturation: 0.1,
brightness: 0.9,
alpha: 1.0)
:
searchField.backgroundColor = backgroundColour
searchField.textColor = normalTextColour
searchField.font = normalTextStyle
searchField.centersPlaceholder = false
searchField.currentEditor()?.font = normalTextStyle
let attrStr = NSMutableAttributedString(string: "Search...",
attributes: [NSForegroundColorAttributeName: normalTextColour])
searchField.placeholderAttributedString = attrStr
一般的に、これは一つの条件以外で動作しますときに、検索フィールドにはフォーカスがありますが、検索語は入力されていません。この場合、プレースホルダーのテキストは正しい色になりますが、フォントはデフォルト(Helvetica 12 point?)に戻ります。何かが入力されたり、フィールドがフォーカスを失ったりするとすぐに、正しいフォントがもう一度使用されます。
私はAppleのドキュメントを見て、現在設定されていないフォントや色の設定を調べていないのです。私は、インターフェースビルダーで見つけられるフォント設定すべてで、ココアのバインディングやインスペクタの通常の設定などを手に入れました。
currentEditorの値を設定する必要はありますか?テキストが入力されるとフォントが変更されるので、私は推測していません..私は立ち往生しています - 誰でも助けることができますか?
編集:私は今NSTextFieldで試したところ、結果は同じです。誰にもアイデアはありますか?
あなたが検索バーとして機能するUITextFieldを作ることができますし、あなたがどのようにそれを成形してください。検索バーは、私の理解から適切にカスタマイズするのがはるかに困難です。 – Sethmr
@Sethmr質問を読んだり、タグをよく見てみてください。 –