ストーリーボードと新しい NSTabViewController クラスを使用して、アプリの設定パネルを作成しようとしています。
動作させることはできますが、ストーリーボードのトランジション設定は無視されているようです。ウィンドウのサイズが瞬時に変化して、あるタブから次のタブにジャンプするだけです。
オートレイアウトを使うか使わないかにもよるかなと思ったのですが、トグルしてもトランジションの挙動は変わらないようでした。
「Propagates title」設定もチェックしています。タブ項目のラベルまたはビュー コントローラーのタイトルを取得し、それをウィンドウ タイトルとして伝達することを期待していましたが、そうではないようです。
誰かがこれを機能させましたか?
これは私がテストしている簡単なサンプルアプリです: https://www.dropbox.com/s/roxaplxy5gtlqns/Again.zip?dl=0
更新: ピエールのおかげでこれが機能しました。次のように NSTabViewController をサブクラス化することで、素敵な移行設定ウィンドウを作成しました。
@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