2012-03-22 76 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 

我接下來要做的是爲leftView創建一個UITableViewController類,爲rightView創建一個UIViewController類。

最後,我將IBOutlets鏈接到相應的組件,並嘗試運行它。但是,當我運行應用程序時,所有看到的都是黑屏,我期望看到UISplitViewController

我完全在這一點難住,所以任何幫助將非常感激。

進一步信息:

更具體的我一直在關注這個tutorial到部分「使我們的模型」,我在那裏停止,因爲UISplitView沒有被顯示。

回答

3
+0

這是一個真正的輝煌的子類 - 我不能說它真的是多麼有用。非常感謝。 – 2012-03-23 19:32:30

2

我知道這是一個回答帖子,但我最近在iOS6中解決了這個問題。我嘗試實施IntelligentSplitViewController,但無法讓它工作所有的時間 - 可能是因爲我的目標是iOS6。基本上我的解決方案涉及UISplitViewController和UITabBarController的子類化和處理旋轉事件。我在此blog post中詳細介紹了我的解決方案。希望這可以幫助。

相關問題