Вы можете создать подкласс NSToolbar
, переопределить -setSizeMode:
и в своем вызове реализации [super setSizeMode: NSToolbarSizeModeRegular];
.
Если вы создаете экземпляр панели инструментов в Интерфейсном Разработчике, убедитесь, что вы назначили свой подкласс для панели инструментов в перо.
@implementation RKToolbar
- (void)setSizeMode:(NSToolbarSizeMode)aSizeMode
{
[super setSizeMode:NSToolbarSizeModeRegular];
}
@end
Это не снимет флажок с панели настройкино это помешает ему что-либо делать.
На самом деле не поддерживается способ снять флажок.Это работает, но довольно забавно:
//in your NSToolbar subclass
- (void)runCustomizationPalette:(id)sender
{
[super runCustomizationPalette:sender];
NSWindow* toolbarWindow = [NSApp mainWindow];
NSWindow* sheet = [toolbarWindow attachedSheet];
for(NSView* view in [[sheet contentView] subviews])
{
if([view isKindOfClass:[NSButton class]])
{
if([[[(NSButton*)view cell] valueForKey:@"buttonType"] integerValue] == NSSwitchButton)
{
[view setHidden:YES];
}
}
}
}