Мисля, че получих решението:
Първо променете вашето основно приложение за изглед към базирано на навигация:
Това е вашият стандартен шаблон за вашия основен писец:
Направете го така:
Добавете UINavigationController. Отворете го и плъзнете ViewBasedViewController върху съществуващия контролер във вашия UINavigationController.
Отидете до вашия представител на приложението:
@interface ViewBasedAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
@end
@synthesize window;
@synthesize navController;
#pragma mark -
#pragma mark Application lifecycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window addSubview:navController.view];
[self.window makeKeyAndVisible];
return YES;
}
//Other code omitted
@end
Свържете изхода navController към навигационния контролер във вашия NIB.
Направете нов клас с да кажем „TheTabBarController“.
Добавете това към вашия базиран на изглед контролер, за да добавите петия контролер:
- (IBAction) addFifthView:(id)sender {
TheTabBarController *conn = [[TheTabBarController alloc] init];
[self.navigationController pushViewController:conn animated:YES];
[conn release];
}
Приложете TheTabBarController по следния начин:
@interface TheTabBarController : UITabBarController {
}
@end
@implementation TheTabBarController
- (void) viewDidLoad {
UIViewController *dummy = [[UIViewController alloc] initWithNibName:@"Dummy" bundle:nil];
dummy.title = @"Dummy title";
dummy.view.backgroundColor = [UIColor redColor];
UIViewController *otherDummy = [[UIViewController alloc] initWithNibName:@"Dummy" bundle:nil];
otherDummy.title = @"Other dummy";
otherDummy.view.backgroundColor = [UIColor blueColor];
[self setViewControllers:[NSArray arrayWithObjects:dummy,otherDummy,nil]];
[dummy release];
[otherDummy release];
}
//Other code omitted
@end
Трябва да работи така.
person
Mats Stijlaart
schedule
20.02.2011