拆分視圖是iPad特定的容器管理兩個(gè)視圖控制器并排,一個(gè)在左,詳細(xì)視圖控制器在其右側(cè)的主視圖控制器。
重要的屬性
delegate
viewControllers
示例代碼和步驟
1. 創(chuàng)建一個(gè)新的項(xiàng)目,并選擇 Master Detail Application,而不是基于視圖的應(yīng)用程序,然后單擊下一步,為項(xiàng)目名稱,選擇“創(chuàng)建”。
2. 默認(rèn)情況下,創(chuàng)建一個(gè)簡(jiǎn)單的拆分視圖控制器在主表視圖。
3. 創(chuàng)建的文件從我們基于視圖的應(yīng)用程序可能有點(diǎn)不同。在這里,我們有以下的為我們創(chuàng)建的文件。
AppDelegate.h
AppDelegate.m
DetailViewController.h
DetailViewController.m
DetailViewController.xib
MasterViewController.h
MasterViewController.m
MasterViewController.xib
4. AppDelegate.h 內(nèi)容如下:
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UISplitViewController *splitViewController; @end
5. didFinishLaunchingWithOptions 方法在 AppDelegate.m 如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override yiibai for customization after application launch. MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil]; UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController: masterViewController]; DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController: detailViewController]; masterViewController.detailViewController = detailViewController; self.splitViewController = [[UISplitViewController alloc] init]; self.splitViewController.delegate = detailViewController; self.splitViewController.viewControllers = @[masterNavigationController, detailNavigationController]; self.window.rootViewController = self.splitViewController; [self.window makeKeyAndVisible]; return YES; }
6. MasterViewController.h 如下:
#import <UIKit/UIKit.h> @class DetailViewController; @interface MasterViewController : UITableViewController @property (strong, nonatomic) DetailViewController *detailViewController; @end
7. MasterViewController.m 內(nèi)容如下:
#import "MasterViewController.h" #import "DetailViewController.h" @interface MasterViewController () { NSMutableArray *_objects; } @end @implementation MasterViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *) nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.title = NSLocalizedString(@"Master", @"Master"); self.clearsSelectionOnViewWillAppear = NO; self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0); } return self; } - (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.leftBarButtonItem = self.editButtonItem; UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:上一篇:IOS - 攝像頭管理下一篇:iOS - Scroll View(滾動(dòng)視圖)