2012-03-22 7 views
3

タブ内にUISplitViewControllerを使用するいくつかのアプリがあります。これはまさに私がする必要があるものですが、私はいくつかの問題を抱えています。タブバーアプリケーション(iPad)でUISplitViewControllerを作成するにはどうすればよいですか?

これまでのところ、私は次のことを行っている:

私のアプリのデリゲートクラスで...

// Set up the cuts tab 
UIViewController *splitViewController = [[SplitViewController alloc] initWithNibName:@"SplitViewController" bundle:nil]; 

// Set up the tab bar 
self.tabBarController = [[UITabBarController alloc] init]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:splitViewController, nil]; 

を次にSplitViewController.hに持っている...

#import <UIKit/UIKit.h> 

@class LeftView; 
@class RightView; 

@interface SplitViewController : UIViewController 
{ 
    UISplitViewController *splitView; 
    LeftView *leftView; 
    RightView *rightView; 
} 


@property(nonatomic, retain)IBOutlet UISplitViewController *splitView; 
@property(nonatomic, retain)IBOutlet LeftView *leftView; 
@property(nonatomic, retain)IBOutlet RightView *rightView; 


@end 

その後で対応する.mファイル...

#import "SplitViewController.h" 

@implementation SplitViewController 
@synthesize splitView, leftView, rightView; 

#pragma mark - View Lifecycle 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) 
    { 
     self.title = @"Tab A"; 
     self.tabBarItem.image = [UIImage imageNamed:@"My_Icon"]; 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.view = splitView.view; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 

    self.splitView = nil; 
    self.leftView = nil; 
    self.rightView = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

@end 

leftViewUITableViewControllerクラスとrightViewUIViewControllerクラスを作成することでした。

最後に、IBOutletsを対応するコンポーネントにリンクして実行してみました。しかし、私がアプリを実行すると、すべてが表示される黒い画面が表示され、UISplitViewControllerが表示されます。

私はこの時点で完全に困惑しているので、どんな助けでも本当に感謝します。

FURTHER INFO:

私はUISplitViewが表示されていなかったので、私は停止し、「私たちのモデルを作る」セクションまでこのtutorialを、次のされています。具体的に。

答えて

3

IntelligentSplitViewControllerをご覧ください。

+0

これは本当に素晴らしいサブクラスです。私はそれが本当にどれほど有益であるかを言葉に入れられません。どうもありがとう。 –

2

私はこれが回答済みの投稿であることを知っていますが、最近私はこれをiOS6で解決しました。私はIntelligentSplitViewControllerを実装しようとしましたが、動作させることができませんでしたすべて - おそらく私はiOS6をターゲットにしていたからです。基本的に私のソリューションは、UISplitViewControllerとUITabBarControllerの両方をサブクラス化し、回転イベントを処理することが必要でした。私はこのblog postの私の解決策を詳述します。お役に立てれば。

関連する問題