我对 iOS 编程非常陌生(来自 Java / C++)。我正在尝试使用 TabBarController 设置一个应用程序,其中一个选项卡应该是 SplitView。我已经完成了我的研究,并且我知道 UISplitview 将无法正常工作,而且人们在任何地方都推荐使用 MGSplitViewController。我查看了演示,但我无法弄清楚如何在没有应用程序根视图的情况下使用它,并且找不到任何可以帮助的示例代码所以这就是我对演示中的类所做的事情一个单独的 UIViewController 类,我后来添加到 TabBarController: 这是我的类:
#import <UIKit/UIKit.h>
#import "MGSplitCornersView.h"
#import "RootViewController.h"
#import "DetailViewController.h"
@interface ChannelViewController : UIViewController {
MGSplitViewController *splitViewController;
RootViewController *rootViewController;
DetailViewController *detailViewController;
}
@property (nonatomic, retain) MGSplitViewController *splitViewController;
@property (nonatomic, retain) RootViewController *rootViewController;
@property (nonatomic, retain) DetailViewController *detailViewController;
@end
这是我拼命尝试的设置
- (id)initWithTabBar
{
self = [super init];
//this is the label on the tab button itself
self.title = @"SplitView";
//use whatever image you want and add it to your project
//self.tabBarItem.image = [UIImage imageNamed:@"name_gray.png"];
// set the long name shown in the navigation bar at the top
self.navigationItem.title=@"Nav Title";
self.splitViewController = [[MGSplitViewController alloc] init];
self.rootViewController = [[RootViewController alloc] init];
self.detailViewController = [[DetailViewController alloc] init];
[self.splitViewController setDetailViewController:detailViewController];
[self.splitViewController setMasterViewController:rootViewController];
[self.view addSubview:splitViewController.view];
[self.rootViewController performSelector:@selector(selectFirstRow) withObject:nil afterDelay:0];
[self.detailViewController performSelector:@selector(configureView) withObject:nil afterDelay:0];
if (NO) { // whether to allow dragging the divider to move the split.
splitViewController.splitWidth = 15.0; // make it wide enough to actually drag!
splitViewController.allowsDraggingDivider = YES;
}
return self;
}
我想我对代表做错了什么?还是我有其他混淆?演示是否在 IB 中做我在代码中看不到的事情?我得到了拆分视图,但没有内容,尤其是没有带有演示附带按钮的导航栏。
我会非常感谢提示或示例代码!