在iphone中,如果没有tabbarcontroller,如何获取tabbar单击事件?
我试图在我的第二个视图中实现tabbar。 我可以放置带有5个项目的tabbar。我知道要处理这些点击事件,我必须使用tabbarcontroller 我的问题是,从tabbar的观点来看, 如何在没有在iphone中,如果没有tabbarcontroller,如何获取tabbar单击事件?,iphone,uitabbarcontroller,uitabbar,Iphone,Uitabbarcontroller,Uitabbar,我试图在我的第二个视图中实现tabbar。 我可以放置带有5个项目的tabbar。我知道要处理这些点击事件,我必须使用tabbarcontroller 我的问题是,从tabbar的观点来看, 如何在没有tabbarcontroller的情况下调用每个选定项方法? (我的假设是,tabbar是一个类似对象的按钮,我们可以通过编程为它编写一个click方法。因此,如果没有Tab控制器,我们也可以访问selected item方法) 有什么方法可以做到这一点吗?如果您不想使用tabbarcontrol
tabbarcontroller
的情况下调用每个选定项方法?
(我的假设是,tabbar
是一个类似对象的按钮,我们可以通过编程为它编写一个click方法。因此,如果没有Tab控制器,我们也可以访问selected item方法)
有什么方法可以做到这一点吗?如果您不想使用tabbarcontroller,那么最好使用分段控件。
它有类似的操作&使用起来也很简单。使用“只需在视图上创建多个UIView”&只需使用它们进行隐藏搜索。如果你想,我有一些代码。如果你愿意,我会贴在这里 在.h文件中创建
UITabbar
并定义uitabardelegate
,然后在各自的视图中编写以下代码:
- (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;
}
}
我想,你可以这样做。(***注:未测试代码) 在.h文件中添加
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
if(item == firstItem)
NSLog(@"Did Select Here”);
else if(item == firstItem)
NSLog(@"Did Select Here”);
}
由于tabbarcontroller包含tabbar作为对象,假设我只直接从库中使用tabbar,我不想使用tabbarcontroller,那么这也将在ui上可见。现在,我想要的是:如何在不使用tabbarcontrller的情况下自定义每个选定事件项的操作。我只使用tabbar作为对象,因为我们使用标签、按钮。有可能吗。?