我看到過幾個應用程序在一個標籤中使用了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
沒有被顯示。
這是一個真正的輝煌的子類 - 我不能說它真的是多麼有用。非常感謝。 – 2012-03-23 19:32:30