Just create NSView in IB with your menu as you want. Then in your window controller add the following code:
- (NSArray*)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar {
return [NSArray arrayWithObject:@"myToolbarMenu"];
}
- (NSArray*)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar {
return [self toolbarAllowedItemIdentifiers:toolbar];
}
- (NSToolbarItem*)toolbar:(NSToolbar*)toolbar
itemForItemIdentifier:(NSString*)str
willBeInsertedIntoToolbar:(BOOL)flag
{
if ([str isEqualToString:@"myToolbarMenu"] == YES) {
NSToolbarItem* item = [[NSToolbarItem alloc] initWithItemIdentifier:str];
[item setView:toolbarView];
[item setMinSize:[toolbarView frame].size];
[item setMaxSize:[toolbarView frame].size];
return [item autorelease];
}
return nil;
}
- (void)windowDidLoad {
NSToolbar* toolbar = [[NSToolbar alloc] initWithIdentifier:@"myToolbar"];
[toolbar setDelegate:self];
[self.window setToolbar:[toolbar autorelease]];
}
nall source
share