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