【发布时间】:2012-02-05 22:12:54
【问题描述】:
可能重复:
Is there anyway to add same scroll menubar at the navigation bar?
可能这是一个愚蠢的问题,但我必须不惜一切代价解决它,因为我的整个项目都依赖于它。我的问题是,
我有四个视图控制器 A、B、C、D。
A 有 4 个按钮 btn1,btn2,btn3,brn4。当我开始点击 btn 然后
btn1 click -> 控制器重载或当前控制器重载;
btn2 点击 -> B 控制器打开;
btn3 点击 -> C 控制器打开;
btn4 点击-> D 控制器打开;
B 有 4 个按钮 btn1,btn2,btn3,brn4。当我开始点击 btn 然后
btn1 click -> 控制器打开;
btn2 点击 -> B 控制器重新加载或当前控制器重新加载;
btn3 点击 -> C 控制器打开;
btn4 点击-> D 控制器打开;
C 有 4 个按钮 btn1,btn2,btn3,brn4。当我开始点击 btn 然后
btn1 click -> 控制器打开;
btn2 点击 -> B 控制器打开;
btn3 点击 -> C 控制器重新加载或当前控制器重新加载;
btn4 点击-> D 控制器打开;
D 有 4 个按钮 btn1,btn2,btn3,brn4。当我开始点击 btn 然后
btn1 click -> 控制器打开;
btn2 点击 -> B 控制器打开;
btn3 点击 -> C 控制器打开;
btn4 点击 -> D 控制器重新加载或当前控制器重新加载;
我需要详细的流程,我该怎么做?
提前致谢。
编辑:
我所有的这些控制器(A、B、C、D)都在标签栏控制器中,按钮在控制器顶部的滚动视图中。我已经附加了这些 UI 的图像,到现在我已经完成了这……
如有任何疑问,请随时提出。 再次感谢
编辑 2:
这是我在tabbar 的每个控制器viewDidload 中导入的按钮的滚动视图。
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:
我必须以任何方式解决问题,所以我尝试了很多方法,但我错过了一个简单的问题。当我想更改点击栏时,我也得到了这些按钮,所以我解决了这个问题有点不同的方式..看看我的回答你会得到答案..
还有任何问题请询问。我必须如何解决问题。
提前致谢。
【问题讨论】:
-
你能告诉我们你到目前为止写的代码吗?
-
前段时间我有这个需求,特别是因为横向模式下的标签栏(在 ipad 中)在底部没有全长。否则,如果您不制作 ipad 应用程序,那么 UITabBarController 就是您的答案。
-
我无法理解你的问题。你所说的控制器打开是什么意思,你想同时加载四个动作。然后为该按钮添加四个具有不同选择器的目标。所以你可以使用单个按钮控制不同的视图控制器。
-
我已经编辑了我的问题,你能再给点建议吗?
-
@AnilKothari 可能现在你应该在编辑后看到我的帖子。
标签: iphone objective-c ios uiviewcontroller uibutton