Ich versuche, ein Einstellungsfenster für meine App mithilfe von Storyboards und der neuen NSTabViewController-Klasse zu erstellen.NSTabViewController ignoriert Übergänge und Titelausbreitungseinstellungen
Ich kann es funktioniert, aber die Übergangseinstellung im Storyboard scheint ignoriert zu werden. Es springt nur von einem Tab zum nächsten, wobei sich die Größe des Fensters augenblicklich ändert.
Ich dachte, es könnte davon abhängen, ob ich Auto-Layout verwenden oder nicht, aber es schien nicht das Übergangsverhalten zu ändern, wenn ich es umschaltete.
Ich habe auch die 'propagates title' Einstellung aktiviert. Ich hatte erwartet, dass es die Bezeichnung des Tab-Elements oder den Titel des View-Controllers übernehmen und als Fenstertitel propagieren würde, aber das scheint es nicht zu tun.
Wer hat das zur Arbeit gebracht?
Hier ist ein einfaches Beispiel-App-I-Tests bin mit: https://www.dropbox.com/s/roxaplxy5gtlqns/Again.zip?dl=0
Update: Haben Sie diese Arbeiten durch Pierre. Am Ende ein schönes Übergang Einstellungen-Fenster machen von NSTabViewController Subklassen wie folgt:
@implementation MCPreferencesTabViewController
-(void)tabView:(NSTabView *)tabView willSelectTabViewItem:(NSTabViewItem *)tabViewItem
{
[super tabView:tabView willSelectTabViewItem:tabViewItem];
NSTabViewItem *currentTabItem = tabView.selectedTabViewItem;
currentTabItem.view.hidden = YES;
tabViewItem.view.hidden = YES;
NSWindow *window = self.view.window;
NSSize contentSize = tabViewItem.view.fittingSize;
NSSize newWindowSize = [window frameRectForContentRect:(CGRect){CGPointZero, contentSize}].size;
NSRect frame = [window frame];
frame.origin.y += frame.size.height;
frame.origin.y -= newWindowSize.height;
frame.size = newWindowSize;
[self.view.window setFrame:frame display:NO animate:YES];
}
- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem
{
[super tabView:tabView didSelectTabViewItem:tabViewItem];
tabViewItem.view.hidden = NO;
}
@end
Direkt an. Wahrscheinlich hätte ich das nie gefunden. Vielen Dank! –
Der alte und schlechte Xcode. VIELEN DANK!!!!!!!!!!!!!!!!!! – SpaceDog
Das funktioniert nicht für mich. Hat sich etwas verändert? – user965972