43 NSLocalizedString(@"Support",@""), |
43 NSLocalizedString(@"Support",@""), |
44 nil]; |
44 nil]; |
45 self.controllerNames = array; |
45 self.controllerNames = array; |
46 [array release]; |
46 [array release]; |
47 |
47 |
48 UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone |
|
49 target:self |
|
50 action:@selector(dismissSplitView)]; |
|
51 if (IS_IPAD()) { |
48 if (IS_IPAD()) { |
52 // this class gets loaded twice, we tell the difference by looking at targetController |
49 // this class gets loaded twice, we tell the difference by looking at targetController |
53 if (self.targetController != nil) { |
50 if (self.targetController != nil) { |
54 UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain]; |
51 UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain]; |
55 tableView.delegate = self; |
52 tableView.delegate = self; |
56 tableView.dataSource = self; |
53 tableView.dataSource = self; |
57 [tableView reloadData]; |
54 [tableView reloadData]; |
58 [self.view addSubview:tableView]; |
55 [self.view addSubview:tableView]; |
59 [self tableView:tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; |
56 [self tableView:tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; |
60 [tableView release]; |
57 [tableView release]; |
61 self.navigationItem.leftBarButtonItem = doneButton; |
58 self.navigationItem.leftBarButtonItem = [self doneButton]; |
62 } |
59 } |
63 } else { |
60 } else { |
64 // this class just loads all controllers and set up tabbar and navigation controllers |
61 // this class just loads all controllers and set up tabbar and navigation controllers |
65 NSMutableArray *tabBarNavigationControllers = [[NSMutableArray alloc] initWithCapacity:5]; |
62 NSMutableArray *tabBarNavigationControllers = [[NSMutableArray alloc] initWithCapacity:5]; |
66 UINavigationController *navController = nil; |
63 UINavigationController *navController = nil; |
67 |
64 |
68 if (nil == generalSettingsViewController) { |
65 if (nil == generalSettingsViewController) { |
69 generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
66 generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
70 generalSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:0] imageName:@"flower" selectedImageName:@"flower_filled"]; |
67 generalSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:0] imageName:@"flower" selectedImageName:@"flower_filled"]; |
71 navController = [[UINavigationController alloc] initWithRootViewController:generalSettingsViewController]; |
68 navController = [[UINavigationController alloc] initWithRootViewController:generalSettingsViewController]; |
72 generalSettingsViewController.navigationItem.backBarButtonItem = doneButton; |
69 UIBarButtonItem *generalSettingsDoneButton = [self doneButton]; |
73 generalSettingsViewController.navigationItem.leftBarButtonItem = doneButton; |
70 generalSettingsViewController.navigationItem.backBarButtonItem = generalSettingsDoneButton; |
|
71 generalSettingsViewController.navigationItem.leftBarButtonItem = generalSettingsDoneButton; |
74 [generalSettingsViewController release]; |
72 [generalSettingsViewController release]; |
75 [tabBarNavigationControllers addObject:navController]; |
73 [tabBarNavigationControllers addObject:navController]; |
76 releaseAndNil(navController); |
74 releaseAndNil(navController); |
77 } |
75 } |
78 if (nil == teamSettingsViewController) { |
76 if (nil == teamSettingsViewController) { |
79 teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
77 teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
80 teamSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:1] imageName:@"teams" selectedImageName:@"teams_filled"]; |
78 teamSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:1] imageName:@"teams" selectedImageName:@"teams_filled"]; |
81 navController = [[UINavigationController alloc] initWithRootViewController:teamSettingsViewController]; |
79 navController = [[UINavigationController alloc] initWithRootViewController:teamSettingsViewController]; |
82 teamSettingsViewController.navigationItem.backBarButtonItem = doneButton; |
80 UIBarButtonItem *teamSettingsDoneButton = [self doneButton]; |
83 teamSettingsViewController.navigationItem.leftBarButtonItem = doneButton; |
81 teamSettingsViewController.navigationItem.backBarButtonItem = teamSettingsDoneButton; |
|
82 teamSettingsViewController.navigationItem.leftBarButtonItem = teamSettingsDoneButton; |
84 [tabBarNavigationControllers addObject:navController]; |
83 [tabBarNavigationControllers addObject:navController]; |
85 releaseAndNil(navController); |
84 releaseAndNil(navController); |
86 } |
85 } |
87 if (nil == weaponSettingsViewController) { |
86 if (nil == weaponSettingsViewController) { |
88 weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
87 weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
89 weaponSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:2] imageName:@"bullet" selectedImageName:@"bullet_filled"]; |
88 weaponSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:2] imageName:@"bullet" selectedImageName:@"bullet_filled"]; |
90 navController = [[UINavigationController alloc] initWithRootViewController:weaponSettingsViewController]; |
89 navController = [[UINavigationController alloc] initWithRootViewController:weaponSettingsViewController]; |
91 weaponSettingsViewController.navigationItem.backBarButtonItem = doneButton; |
90 UIBarButtonItem *weaponSettingsDoneButton = [self doneButton]; |
92 weaponSettingsViewController.navigationItem.leftBarButtonItem = doneButton; |
91 weaponSettingsViewController.navigationItem.backBarButtonItem = weaponSettingsDoneButton; |
|
92 weaponSettingsViewController.navigationItem.leftBarButtonItem = weaponSettingsDoneButton; |
93 [tabBarNavigationControllers addObject:navController]; |
93 [tabBarNavigationControllers addObject:navController]; |
94 releaseAndNil(navController); |
94 releaseAndNil(navController); |
95 } |
95 } |
96 if (nil == schemeSettingsViewController) { |
96 if (nil == schemeSettingsViewController) { |
97 schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
97 schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
98 schemeSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:3] imageName:@"target" selectedImageName:@"target_filled"]; |
98 schemeSettingsViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:3] imageName:@"target" selectedImageName:@"target_filled"]; |
99 navController = [[UINavigationController alloc] initWithRootViewController:schemeSettingsViewController]; |
99 navController = [[UINavigationController alloc] initWithRootViewController:schemeSettingsViewController]; |
100 schemeSettingsViewController.navigationItem.backBarButtonItem = doneButton; |
100 UIBarButtonItem *schemeSettingsDoneButton = [self doneButton]; |
101 schemeSettingsViewController.navigationItem.leftBarButtonItem = doneButton; |
101 schemeSettingsViewController.navigationItem.backBarButtonItem = schemeSettingsDoneButton; |
|
102 schemeSettingsViewController.navigationItem.leftBarButtonItem = schemeSettingsDoneButton; |
102 [tabBarNavigationControllers addObject:navController]; |
103 [tabBarNavigationControllers addObject:navController]; |
103 releaseAndNil(navController); |
104 releaseAndNil(navController); |
104 } |
105 } |
105 if (nil == supportViewController) { |
106 if (nil == supportViewController) { |
106 supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
107 supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped]; |
107 supportViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:4] imageName:@"heart" selectedImageName:@"heart_filled"]; |
108 supportViewController.tabBarItem = [self tabBarItemWithTitle:[self.controllerNames objectAtIndex:4] imageName:@"heart" selectedImageName:@"heart_filled"]; |
108 navController = [[UINavigationController alloc] initWithRootViewController:supportViewController]; |
109 navController = [[UINavigationController alloc] initWithRootViewController:supportViewController]; |
109 supportViewController.navigationItem.backBarButtonItem = doneButton; |
110 UIBarButtonItem *supportViewDoneButton = [self doneButton]; |
110 supportViewController.navigationItem.leftBarButtonItem = doneButton; |
111 supportViewController.navigationItem.backBarButtonItem = supportViewDoneButton; |
|
112 supportViewController.navigationItem.leftBarButtonItem = supportViewDoneButton; |
111 [tabBarNavigationControllers addObject:navController]; |
113 [tabBarNavigationControllers addObject:navController]; |
112 releaseAndNil(navController); |
114 releaseAndNil(navController); |
113 } |
115 } |
114 |
116 |
115 self.tabController = [[UITabBarController alloc] init]; |
117 self.tabController = [[UITabBarController alloc] init]; |
116 self.tabController.viewControllers = tabBarNavigationControllers; |
118 self.tabController.viewControllers = tabBarNavigationControllers; |
117 self.tabController.delegate = self; |
119 self.tabController.delegate = self; |
118 |
120 |
119 [self.view addSubview:self.tabController.view]; |
121 [self.view addSubview:self.tabController.view]; |
120 } |
122 } |
121 [doneButton release]; |
123 |
122 [super viewDidLoad]; |
124 [super viewDidLoad]; |
|
125 } |
|
126 |
|
127 - (UIBarButtonItem *)doneButton |
|
128 { |
|
129 return [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone |
|
130 target:self |
|
131 action:@selector(dismissSplitView)] autorelease]; |
123 } |
132 } |
124 |
133 |
125 - (UITabBarItem *)tabBarItemWithTitle: (NSString *)title |
134 - (UITabBarItem *)tabBarItemWithTitle: (NSString *)title |
126 imageName: (NSString *)imageName |
135 imageName: (NSString *)imageName |
127 selectedImageName: (NSString *)selectedImageName |
136 selectedImageName: (NSString *)selectedImageName |