Как я могу сделать ту же кнопку в контроллере нескольких представлений?
Возможный дубликат:
Есть ли способ добавить такую же прокручиваемую строку меню на панель навигации?
Может быть, это глупый вопрос, но я должен решить его любой ценой, потому что весь мой проект зависит от него. Мой вопрос,
У меня есть четыре вида контроллера 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), она определенно поможет вам решить вашу проблему с меньшим количеством кода.
Вы должны подключить розетку к контроллеру от другого вида к другим трем видам и снова к трем другим видам к этому виду Вы можете найти более подробную информацию здесь. Ссылка на сайт