我正在尝试在第二个视图中实现tabbar。 我能够在其上放置5个项目的tabbar。我知道要处理这些点击事件,我必须使用tabbarcontroller。
我的问题是,在视图上看tabbar,
如何在没有tabbarcontroller
的情况下调用每个项目选择的方法?
(我的假设是tabbar
是一个像按钮这样的对象,我们可以通过编程方式为它编写一个click方法。因此,如果没有Tab Controller,我们可以访问所选项目方法)
有没有办法做到这一点?
答案 0 :(得分:1)
如果您不想使用tabbarcontroller,那么最好使用Segmented Control。 它有类似的操作和它也很简单易用。使用需要在视图和视图上创建多个uiviews和他们一起玩Hide-n-seek。如果你想要我有一些代码。如果你愿意,可以在这里粘贴。
答案 1 :(得分:1)
我想,你可以这样做。 (***注意:它没有经过测试的代码)
在.h文件中添加<UITabBarDelegate>
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
if(item == firstItem)
NSLog(@"Did Select Here”);
else if(item == firstItem)
NSLog(@"Did Select Here”);
}
答案 2 :(得分:0)
在.h文件中创建UITabbar
并定义UITabbarDelegate
,并在相应的视图中编写以下代码:
- (void)viewDidLoad {
[super viewDidLoad];
UITabBarItem * newItem1 = [[UITabBarItem alloc] initWithTitle:@"First" image:[UIImage imageNamed:@"setting.png"] tag:1];
UITabBarItem * newItem2 = [[UITabBarItem alloc] initWithTitle:@"Second" image:[UIImage imageNamed:@"setting.png"] tag:2];
UITabBarItem * newItem3 = [[UITabBarItem alloc] initWithTitle:@"Third" image:[UIImage imageNamed:@"setting.png"] tag:3];
[tabbar setItems:[NSArray arrayWithObjects:newItem1,newItem2,newItem3,nil]];
tabbar.delegate = self;
}
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
NSLog(@"Tabbar selected itm %d",item.tag);
switch (item.tag) {
case 1:
//first selected
break;
case 2:
//second selected
break;
case 3:
//third selected
break;
default:
break;
}
}