swiftnstextfieldnsimagenscellnssearchfield

Hiding the lupe icon of a NSSearchField


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


Solution

  • 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