It does seem to be order dependent. This works (though it does drop the baseline a pixel)

    [[searchField cell] setControlSize:NSSmallControlSize];
[searchField setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSSmallControlSize]]];
    NSRect searchFrame = [searchField frame];
NSSize cellSize = [[searchField cell] cellSizeForBounds:searchFrame];
    searchFrame.size.height = cellSize.height;
    [searchField setFrame:searchFrame];

If you don't set the font first, cellSizeForBounds: doesn't give you the size you want.

-Tom

On Mar 10, 2008, at 3:45 PM, John Stiles wrote:

I've done all of these things, and so far no dice.

The small control clearly has a different overall look—for instance, the magnifying glass icon has a smaller variant which I do not see. Also, when I set the smaller frame, it's just using the big-size control and cutting off its bottom edge, which looks dumb.

I also tried calling -sizeToFit but this had no effect.

Any other ideas?


Jonathan Hess wrote:
Hey John -

IB also typically changes the cell's font, and the control's frame when you use the pop up in the control size inspector.

Hope that helps -
Jon Hess

On Mar 10, 2008, at 3:27 PM, John Stiles wrote:

Interface Builder can easily make a small variant of NSSearchField —it's right there in the size popup—but I can't manage to reproduce the effect in code. The typical approach doesn't work:

  [[searchField cell] setControlSize:NSSmallControlSize];

does nothing at all, though this does shrink almost any other control type I can think of. I searched the archives and found that another user had this problem in mid-2007, but there was no solution posted.
Any ideas?

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/jhess%40apple.com

This email sent to [EMAIL PROTECTED]

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/tom%40omnigroup.com

This email sent to [EMAIL PROTECTED]

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to