26 } |
25 } |
27 |
26 |
28 // load the view programmatically; we need a splitViewController that handles a MasterViewController |
27 // load the view programmatically; we need a splitViewController that handles a MasterViewController |
29 // (which is just a UITableViewController) and a DetailViewController where we present options |
28 // (which is just a UITableViewController) and a DetailViewController where we present options |
30 -(void) viewDidLoad { |
29 -(void) viewDidLoad { |
31 self.detailViewController = [[DetailViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
30 detailViewController = [[DetailViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
32 [detailViewController release]; |
31 UINavigationController *detailedNavController = [[UINavigationController alloc] initWithRootViewController:detailViewController]; |
33 UINavigationController *detailedNavController = [[UINavigationController alloc] initWithRootViewController:self.detailViewController]; |
|
34 [detailViewController release]; |
32 [detailViewController release]; |
35 |
33 |
|
34 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) |
|
35 self.view.frame = CGRectMake(0, 0, 1024, 768); |
|
36 |
36 id splitViewRootController; |
37 id splitViewRootController; |
37 |
38 |
38 Class splitViewControllerClass = NSClassFromString(@"UISplitViewController"); |
39 Class splitViewControllerClass = NSClassFromString(@"UISplitViewController"); |
39 if (splitViewControllerClass) { |
40 if (splitViewControllerClass) { |
40 splitViewRootController = [[splitViewControllerClass alloc] init]; |
41 splitViewRootController = [[splitViewControllerClass alloc] init]; |
41 //[[splitViewRootController view] setAutoresizingMask: UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth]; |
42 //[[splitViewRootController view] setAutoresizingMask: UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth]; |
42 |
43 |
43 [[splitViewRootController view] setFrame:CGRectMake(0, 0, 1024, 1024)]; // yeah it's funny |
44 [[splitViewRootController view] setFrame:CGRectMake(0, 0, 1024, 768)]; |
44 MasterViewController *masterViewController = [[MasterViewController alloc] initWithStyle:UITableViewStylePlain]; |
45 MasterViewController *masterViewController = [[MasterViewController alloc] initWithStyle:UITableViewStylePlain]; |
45 |
46 |
46 UINavigationController *mainNavController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; |
47 UINavigationController *mainNavController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; |
47 |
48 |
48 masterViewController.detailViewController = self.detailViewController; |
49 masterViewController.detailViewController = detailViewController; |
49 |
50 |
50 [masterViewController release]; |
51 [masterViewController release]; |
51 |
52 |
52 [splitViewRootController setViewControllers:[NSArray arrayWithObjects: mainNavController, detailedNavController, nil]]; |
53 [splitViewRootController setViewControllers:[NSArray arrayWithObjects: mainNavController, detailedNavController, nil]]; |
53 [mainNavController release]; |
54 [mainNavController release]; |
54 [detailedNavController release]; |
55 [detailedNavController release]; |
55 |
56 |
56 [splitViewRootController setDelegate:self.detailViewController]; |
57 [splitViewRootController setDelegate:detailViewController]; |
57 [detailViewController release]; |
58 [detailViewController release]; |
58 |
59 |
59 // add view to main controller |
60 // add view to main controller |
60 [self.view addSubview:[splitViewRootController view]]; |
61 [self.view addSubview:[splitViewRootController view]]; |
61 //[splitViewRootController release]; |
|
62 |
|
63 } else { |
62 } else { |
64 [self.view addSubview:detailedNavController.view]; |
63 [self.view addSubview:detailedNavController.view]; |
65 } |
64 } |
66 |
65 |
67 [super viewDidLoad]; |
66 [super viewDidLoad]; |
68 } |
67 } |
69 |
68 |
70 -(void) viewDidUnload { |
69 -(void) viewDidUnload { |
|
70 detailViewController = nil; |
71 [super viewDidUnload]; |
71 [super viewDidUnload]; |
72 self.detailViewController = nil; |
|
73 } |
72 } |
|
73 |
74 -(void) dealloc { |
74 -(void) dealloc { |
75 [detailViewController release]; |
75 [detailViewController release]; |
76 [super dealloc]; |
76 [super dealloc]; |
77 } |
77 } |
78 |
78 |