Я просто хотел бы кое-что прояснить ..
У меня есть приложение, в котором интерфейс главного окна имеет панель вкладок с 3 вкладками (opt1, opt2, op3).У каждого opt есть свой собственный xib-файл, в котором я нарисовал свои собственные интерфейсы.
В своем классе делегатов приложения я включил UITabBar * rootController и подключил его к панели вкладок в моем xib-файле главного окна.
Теперь .. В панели вкладок я перетащил 3 контроллера навигации (по 1 для каждого параметра), а внутри каждого из них 1) значок панели вкладок, 2) панель навигации и 3) контроллер вида.
Вернувшись в класс моего приложения Delegate.h, я включил код для UINavigationController * nav1, nav2, nav3..и подключил их соответствующим образом в IB в MainWindow.xib (TabBar-> navController1, navController2, navController3).
Это правильный способ сделать это?Кроме того, как я могу использовать эти панели в моих файлах классов opt1, opt2, opt3?
Вот мой код: app Delegate.h
#import <UIKit/UIKit.h>
@class LoginViewController;
@interface myAppDelegate : NSObject <UIApplicationDelegate>
{
UIWindow *window;
UINavigationController *navigationController1, *navigationController2, *navigationController3;
IBOutlet UITabBarController *rootController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController1, *navigationController2, *navigationController3;
@property (nonatomic, retain) IBOutlet UITabBarController *rootController;
@end
appdelegate.m
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:[rootController view]];
[window makeKeyAndVisible];
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginView" bundle:nil];
[self.rootController presentModalViewController:loginViewController animated:NO];
}
Затем в моем классе LoginController.m, когда пользователь вводит правильные учетные данные, я вызываю
[self dismissModalViewControllerAnimated:YES];
В моем MainWindow.xib я подключаю свой rootController к TabBarController.В TabBarController я поместил в него 3 элемента NavigationController и связал их с 3 классами tabOption, каждый из которых имеет свое собственное представление .xib.
Панель вкладок прекрасно переключается между 3 вариантами просмотра.Однако в представлении 1 .xib у меня есть кнопка для открытия нового .xib.Итак, в моем классе tabOption1 у меня есть следующее:
-(IBAction)openBook:(id)sender{
UIViewController *nextVC = [[PageViewController alloc] initWithNibName:@"PageView" bundle:nil];
[self.navigationController pushViewController:nextVC animated:YES];
}
Однако это не открывает мой PageView.xib ... Я подключил его к своему классу PageViewController и все тоже ... и кнопка работает, потому чтоЯ проверил это с помощью UIDialog