UISplitViewController隻能用于iPad上
APPDelegate
-
(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
[self.window makeKeyAndVisible];
UISplitViewController *splitVC = [[UISplitViewController alloc] init];
TQTableViewController *tableViewVC = [[TQTableViewController alloc] initWithStyle:0];
UINavigationController *tableNav = [[UINavigationController alloc] initWithRootViewController:tableViewVC];
ViewController *vc = [[ViewController alloc] init];
UINavigationController *vcNav = [[UINavigationController alloc] initWithRootViewController:vc];
tableViewVC.delegate = vc;
splitVC.viewControllers = @[tableNav,vcNav];
splitVC.delegate = vc;
self.window.rootViewController = splitVC;
return YES;
}
//是否隐藏左邊的菜單
//- (BOOL)splitViewController:(UISplitViewController )svc shouldHideViewController:(UIViewController )vc inOrientation:(UIInterfaceOrientation)orientation
//{
// return NO;
//}
ViewController
-
(void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//系統寫好一個事件響應的對象 以及事件響應的方法
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@”menu” style:0 target:self.splitViewController.displayModeButtonItem.target action:self.splitViewController.displayModeButtonItem.action];
self.webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:self.webView];
}
-(void)setWebViewContent:(NSString *)urlStr
{
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]]];
}
//改變顯示模式的時候會調用該代理方法
- (void)splitViewController:(UISplitViewController *)svc willChangeToDisplayMode:(UISplitViewControllerDisplayMode)displayMode
{
if(displayMode == UISplitViewControllerDisplayModeAllVisible)
{
self.navigationItem.leftBarButtonItem = nil;
}
else
{
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@”menu” style:0 target:self.splitViewController.displayModeButtonItem.target action:self.splitViewController.displayModeButtonItem.action];
}
}