2017-02-27 9 views
2

私は通常のNSSearchField(サブクラス化されていない)を使用しています。それが非アクティブのときは、placeholderStringが中心に置かれています。しかし、私は、placeholderString以外のアイコンが左側に追加で描画されていることに気づいたので、実際は全体が中央にならないように見えます。NSSearchField:アイコンを隠す方法(ルピー)

enter image description here

どのように私は、ルーペのアイコンを非表示にできますか?

答えて

2

アイコンへの直接アクセスがないため、NSSearchFieldセル(図のようにキャスト)に最初にアクセスし、後でそのボタンセルにアクセスできるようになります。

この例の自己NSSearchField

[(NSButtonCell *)[(NSSearchFieldCell *)self.cell searchButtonCell] setTransparent:YES]; 

Deafault検索フィールドのインスタンスである:

enter image description here

隠し/透明アイコン:

enter image description here

+1

他の人が理解できるように、回答に説明を追加する方がよい場合があります。 –

+0

私は@MartinZhaiに同意します。編集されたバージョンがそれを明確にすることを願っています。 –

+0

ダニエルありがとう!本当に素晴らしい作品。しかし、searchFieldが非アクティブなときにアイコンを非表示にする方法はわかりませんでしたが、ユーザーが編集中に表示する方法はありませんでした。そのための簡単な解決策もありますか? :) – ixany

0

Swift3変換:

(self.cell as! NSSearchFieldCell).searchButtonCell?.isTransparent = true 
関連する問題