Я немного читал, я пытаюсь понять, как создать правильную иерархию представления для моего приложения.Я создал базовое приложение с вкладками в xcode 4.2 с использованием arc, но это новое приложение не включает mainwindow.xib, поэтому многие учебники, использующие IB, для меня бесполезны.У меня уже есть приложение с 5 вкладками, и «база» приложения работает, как и ожидалось.Что мне нужно, так это включить больше представлений в определенное окно с вкладками, которое просматривается в данный момент.Моя иерархия проста, как показано ниже.Мои предположения дополнены вопросительными знаками, так как у меня есть только 5 базовых категорий, все в настоящее время UIViewControllers внутри tabBarController
App heriarchy (предлагается)
Home (Currently UIViewController using homeViewController, convert to UINavigationController?)
Add (UIViewController with HomeAdd.xib?)
Edit (UIViewController with HomeEdit.xib
delete (UIViewController with HomeDelete.xib?)
ViewList - Single page to view list (Currently UIViewController using viewListViewController)
Share - Single page to send emails / invites (Currently UIViewController using shareViewController)
Friends (UINavigationController with root view of FriendsRoot.xib?)
Add (UIViewController with FriendsAdd.xib?)
Edit (UIViewController with FriendsEdit.xib?)
delete (UIViewController with FriendsDelete.xib?)
Settings - Single page for app settings/preferences (Currently UIViewController using settingsViewController)
Я даже не уверен, если вышевозможна иерархия (т. е. смешивание контроллеров представления внутри tabBarController), и она хотела бы получить информацию о том, как выполнить это программным путем, поскольку это, по-видимому, мой единственный вариант в делегате приложения, поскольку по умолчанию отсутствует файл mainwondiw.h / m / xib.
Мой текущий код для этого в моем делегате приложения выглядит следующим образом:
AppDelegate.h
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UITabBarController *tabBarController;
@end
AppDelegate.m
@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *homeViewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
UIViewController *viewListViewController = [[ViewListViewController alloc] initWithNibName:@"ViewListViewController" bundle:nil];
UIViewController *shareViewController = [[ShareViewController alloc] initWithNibName:@"ShareViewController" bundle:nil];
UIViewController *friendsViewController = [[FriendsViewController alloc] initWithNibName:@"FriendsViewController" bundle:nil];
UIViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
[self.tabBarController setDelegate:self];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:homeViewController, viewListViewController, shareViewController, friendsViewController, settingsViewController, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
IЯ попытался сделать несколько попыток внедрить UINavigationControllers или альтернативные представления с пользовательскими кнопками, но, похоже, все они приводят к неудачной сборке, так как я все еще изучаю контекст и код.
Любые советы будут приветствоваться.До сих пор я имел ограниченный успех с моими предыдущими постами.
Спасибо,
Серебряный тигр