Hiding the lupe icon of a NSSearchField

771 Views Asked by At

I’m using a NSSearchField (not subclassed). When it’s not focused, the placeholderString is centered. But the lupe icon on the left appears a bit offset, so in fact the whole thing appears not to be centered.

Is it possible to hide the lupe icon?

enter image description here

2

There are 2 best solutions below

3
Daniel Gastón On BEST ANSWER

There is not any direct access to the icon, so that a workaround is first access to the NSSearchField cell (casted as shown), and afterwards access to its button cell.

self in this example is an instance of NSSearchField

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

Deafault Search Field:

enter image description here

Hidden/Transparent Icon:

enter image description here

0
firstinq On

Swift3 conversion:

(self.cell as! NSSearchFieldCell).searchButtonCell?.isTransparent = true