2012-04-10 3 views
0

Я использую tabBarController для отображения фотографий, и каждый вид фотографий отображается на каждой вкладке , поэтому я использую один ViewController.xib и как показывать другой контент (пункт навигации и ImageView) на каждой вкладке?Как использовать два одинаковых ViewController.xib в tabBarController

и мой вопрос: где и как писать коды следующего шага, соответствуют ли коды в - (void) tabBarController или в PhotoController.m? -

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
UIViewController *photoController1 = [[[PhotoController alloc] initWithNibName:@"PhotoController" bundle:nil] autorelease]; 
UIViewController *photoController2 = [[[PhotoController alloc] initWithNibName:@"PhotoController" bundle:nil] autorelease]; 

self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects: 
             ,photoController1 
             ,photoController2 
             ,nil]; 
self.tabBarController.delegate=self; 
self.window.rootViewController = self.tabBarController; 
[self.window makeKeyAndVisible]; 
return YES; 
} 
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{  
    switch (tabBarController.selectedIndex) 
{ 
    case 4:  
     //how to write code; 
     break; 
    case 5: 
     //how to write code; 
    default: 
     break; 
    } 
} 
+0

в чем же проблема? ваше решение для двух контроллеров работает или нет? идея создания нескольких экземпляров одного и того же контроллера в порядке. – kuba

+0

butthank, Джон Смит, два контроллера работают, но –

+0

(см. Выше комментарий, га) спасибо, Джон Смит. Два контроллера работают, но я не знаю, где и как писать коды следующим шагом, делает коды в - (void) tabBarController или в PhotoController.m? –

ответ

0

Вы можете сделать некоторые подготовить метод в PhotoController, и обнародует его, так что вы можете вызвать его из tabBarController didSelectViewController, так что код может выглядеть следующим образом:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {  
    switch (tabBarController.selectedIndex) { 
    case 4:  
      //configure options for photoController 
      [viewController prepareForDisplayWithOptions:options]; 
     break; 
    case 5: 
      //configure options for photoController2 
      [viewController prepareForDisplayWithOptions:options2]; 
     break; 
    default: 
     break; 
    } 

}

Смежные вопросы