【发布时间】:2012-03-22 13:27:12
【问题描述】:
我见过几个在标签页中使用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,所以我停了下来。
【问题讨论】:
标签: ios ipad uitabbarcontroller uisplitviewcontroller ios5.1