Я хочу использовать панель вкладок в одном из представлений для моего приложения - ПРОСМОТР НА ОСНОВЕ.поэтому я перетащил панель вкладок и добавил еще 2 элемента панели вкладок, чтобы сделать его полностью 4.
Я пометил каждый элемент вкладки 1,2,3,4 с Myservices, History, RecentRequest и меткой профиля соответственно.
аналогичным образом я добавил 4 класса для каждой вкладки с именами Myservices.h, .m, .xib и такими же именами, как и для других вкладок.
В этом выше вкладки 3подкласс UITableViewController и вкладка профиля является подклассом UIVIewController.когда я нажимаю на вкладку профиля, в ней отображается tableView, и я также вносил некоторые изменения в другие представления, но при нажатии на любой вкладке отображается тот же экран для всех вкладок, поэтому любой может сообщить мне, где я ошибаюсь.
Это мой код. Я добавил этот код в класс с именем Homepage.h и .m, а панель вкладок перетаскивается в homepage.xib
// CODE homepage.h
IBOutlet UITabBar *myTabBar;
UIViewController *myServicesViewController;
UIViewController *historyViewController;
UIViewController *recentRequestViewController;
UIViewController *profileViewController;
UIViewController *currentViewController;
@property (nonatomic, retain) IBOutlet UITabBar *myTabBar;
@property (nonatomic, retain) UIViewController *myServicesViewController;
@property (nonatomic, retain) UIViewController *historyViewController;
@property (nonatomic, assign) UIViewController *currentViewController;
@property (nonatomic, assign) UIViewController *profileViewController;
@property (nonatomic, retain) UIViewController *recentRequestViewControll
//HomePage.m
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSLog(@"didSelectItem: %d", item.tag);
[self activateTab:item.tag];
}
-(void)activateTab:(int)index
{
switch (index) {
case 1:
if (myServicesViewController == nil) {
self.myServicesViewController=
[[MyServices alloc] initWithNibName:nil bundle:nil];
}
[self.view insertSubview:myServicesViewController.view belowSubview:myTabBar];
if (currentViewController != nil)
[currentViewController.view removeFromSuperview];
currentViewController = myServicesViewController;
break;
case 2:
if (historyViewController == nil) {
self.historyViewController =
[[History alloc] initWithNibName:nil bundle:nil];
}
[self.view insertSubview:historyViewController.view belowSubview:myTabBar];
if (currentViewController != nil)
[currentViewController.view removeFromSuperview];
currentViewController = historyViewController;
break;
case 3:
if (recentRequestViewController == nil) {
self.recentRequestViewController =
[[RecentRequest alloc] initWithNibName:nil bundle:nil];
}
[self.view insertSubview:recentRequestViewController.view belowSubview:myTabBar];
if (currentViewController != nil)
[currentViewController.view removeFromSuperview];
currentViewController = recentRequestViewController;
break;
case 4:
if (profileViewController == nil) {
self.profileViewController =
[[Profile alloc] initWithNibName:nil bundle:nil];
}
[self.view insertSubview:profileViewController.view belowSubview:myTabBar];
if (currentViewController != nil)
[currentViewController.view removeFromSuperview];
currentViewController = profileViewController;
break;
default:
break;
}
}
-(void)viewDidLoad
{
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed: @"bg.jpg"]];
self.view.backgroundColor = background;
[myTabBar setSelectedItem:[myTabBar.items objectAtIndex:0]];
[self activateTab:1];
[super viewDidLoad];
}
Нажмите на любую вкладку, вид не меняется, может кто-нибудь сказать мне, где я иду не так ?? *