Как я могу сделать ту же кнопку в контроллере нескольких представлений?

Возможный дубликат:
Есть ли способ добавить такую ​​же прокручиваемую строку меню на панель навигации?

Может быть, это глупый вопрос, но я должен решить его любой ценой, потому что весь мой проект зависит от него. Мой вопрос,

У меня есть четыре вида контроллера A, B, C, D.

А имеет 4 кнопки btn1, btn2, btn3, brn4. когда я начну, нажмите на Btn, то

btn1 click -> Перезагрузка контроллера или перезагрузка контроллера тока;

btn2 click -> B контроллер открыт;

btn3 click -> C контроллер открыт;

btn4 click -> D контроллер открыт;

B имеет 4 кнопки btn1, btn2, btn3, brn4. когда я начну, нажмите на Btn, то

btn1 click -> контроллер открыт;

btn2 click -> перезагрузка контроллера B или перезагрузка контроллера тока;

btn3 click -> C контроллер открыт;

btn4 click -> D контроллер открыт;

C имеет 4 кнопки btn1, btn2, btn3, brn4. когда я начну, нажмите на Btn, то

btn1 click -> контроллер открыт;

btn2 click -> B контроллер открыт;

btn3 click -> перезагрузка контроллера C или перезагрузка контроллера тока;

btn4 click -> D контроллер открыт;

D имеет 4 кнопки btn1, btn2, btn3, brn4. когда я начну, нажмите на Btn, то

btn1 click -> контроллер открыт;

btn2 click -> B контроллер открыт;

btn3 click -> C контроллер открыт;

btn4 click -> перезагрузка контроллера D или перезагрузка контроллера тока;

Мне нужен подробный процесс, как я могу это сделать?

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Все мои эти контроллеры (A,B,C,D) находятся в контроллере вкладок, а кнопки находятся в виде прокрутки, которые находятся в верхней части контроллера. Я прикрепил изображение этого интерфейса, до сих пор я делал это....

введите описание изображения здесь

В дальнейшем любой запрос, пожалуйста, не стесняйтесь спрашивать. еще раз спасибо

РЕДАКТИРОВАТЬ 2:

Это прокрутка кнопки, которую я импортировал в каждый контроллер viewDidload из tabbar Предметы.

scrollButtonView = [[scrollViewButtons alloc] initWithNibName:@"scrollViewButtons" bundle:nil];
CGRect frame = CGRectMake(0, 20, 320, 43);
scrollButtonView.view.frame = frame;
scrollButtonView.view.userInteractionEnabled =YES;
[self.navigationController.view addSubview:scrollButtonView.view]; 

Вот код, в котором я хочу переключить контроллер на нажатие кнопки. Но проблема в том, когда я импортирую эти A, B, C, D, то я обнаружил ошибку Unknown controller

 -(void)mybuttons:(id)sender{   
NSLog(@"mybuttons called");
UIButton *button=(UIButton *)sender;
if (button.tag == 0) {
    NSLog(@"hey have clicked first button, this is my tag : %i \n\n",button.tag);
    [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_hover.png"] forState:UIControlStateSelected]; //sets the background Image]
}
else {
    [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_normal.png"] forState:UIControlStateNormal]; //sets the background Image]

}
if (button.tag == 1) {
    NSLog(@"hey have clicked second button, this is my tag : %i \n\n",button.tag);
    [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_hover.png"] forState:UIControlStateNormal]; //sets the background Image]
    self.tabBarController.selectedIndex = 1;
}
else  if (button.tag == 2) {
    NSLog(@"hey have clicked first button, this is my tag : %i \n\n",button.tag);
    [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_hover.png"] forState:UIControlStateNormal]; //sets the background Image]

  //UIViewController *newController = [[UIViewController alloc] initWithNibName:@"CustomerViewController" bundle:nil];
    //UINavigationController *myCustomerController = [[[UINavigationController alloc] initWithRootViewController:newController] autorelease];
    //UINavigationController *myCustomerController = [[UINavigationController alloc] initWithNibName:@"CustomerViewController" bundle:nil];
    UIViewController *secondViewController = [[UIViewController alloc] initWithNibName:@"CustomerViewController" bundle:nil];
    [self.navigationController pushViewController:secondViewController animated:YES];
    self.tabBarController.selectedIndex = 2;
}
 else if (button.tag == 3) {
    NSLog(@"hey have clicked second button, this is my tag : %i \n\n",button.tag);
      [button setBackgroundImage:[UIImage imageNamed:@"btn_topmenu_hover.png"] forState:UIControlStateNormal]; //sets the background Image]
      //[self.navigationController pushViewController:cstViewController animated:YES];
       self.tabBarController.selectedIndex = 3;
     }
   }

EDIT3:

В любом случае мне нужно решить проблему, поэтому я много пробовал, но упустил простой вопрос. когда я хочу изменить панель тапа, тогда я получаю эти кнопки, поэтому я решил эту проблему немного по-другому... см. мой ответ, вы получите ответ..

далее любой вопрос, пожалуйста, задавайте. Любой, как я должен решить проблему.

Заранее спасибо.

2 ответа

Решение

Рассматривали ли вы использование UITabBarController - который реализует функциональность, которую вы описываете.

Кнопки в представлении прокрутки просто копируют функциональность панели вкладок, что приводит к путанице в работе пользователя.

Вы путаете себя с такой сложной функциональностью, хотя я хотел бы предложить вам использовать раскадровку (новая функция ios 5), она определенно поможет вам решить вашу проблему с меньшим количеством кода.

Вы должны подключить розетку к контроллеру от другого вида к другим трем видам и снова к трем другим видам к этому виду Вы можете найти более подробную информацию здесь. Ссылка на сайт

Другие вопросы по тегам