Monday, May 14, 2012

Changing TabView: Resize TabView & Window

I made an application which have a preferences window with 2 tabs.
The first tab have a lots of prefs settings in it, but the second one is very small...

I'd like that the tabview & the window resize when we switch between these 2 tabs.

I act like that, but it doesn't seems to work, when I switch view the "Networks settings" tab is being reduced and disapear (like if the height was going from origin to 0 with animation).

Here is my code (.m):

- (void)tabView:(NSTabView *)tabView
didSelectTabViewItem:(NSTabViewItem *)tabViewItem
NSRect frame;
int height;

if ([[tabViewItem identifier] isEqualTo:@"Panel settings"]) {
height = 400;

} else if ([[tabViewItem identifier] isEqualTo:@"Network settings"]) {
height = 200;


frame = [[tabView window] frame];

frame.size.height = height;
frame.origin.y += height;

[[tabView window] setFrame:frame display:YES animate:YES];

Note that I linked the tab view to delegate.
My window is linked to the NSWindow * PrefWindow referencing outlet.

Thanks for your help!

No comments:

Post a Comment