在iphone中,如果没有tabbarcontroller,如何获取tabbar单击事件?

在iphone中,如果没有tabbarcontroller,如何获取tabbar单击事件?,iphone,uitabbarcontroller,uitabbar,Iphone,Uitabbarcontroller,Uitabbar,我试图在我的第二个视图中实现tabbar。 我可以放置带有5个项目的tabbar。我知道要处理这些点击事件,我必须使用tabbarcontroller 我的问题是,从tabbar的观点来看, 如何在没有tabbarcontroller的情况下调用每个选定项方法? (我的假设是,tabbar是一个类似对象的按钮,我们可以通过编程为它编写一个click方法。因此,如果没有Tab控制器,我们也可以访问selected item方法) 有什么方法可以做到这一点吗?如果您不想使用tabbarcontrol

我试图在我的第二个视图中实现tabbar。 我可以放置带有5个项目的tabbar。我知道要处理这些点击事件,我必须使用tabbarcontroller

我的问题是,从tabbar的观点来看, 如何在没有
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作为对象,因为我们使用标签、按钮。有可能吗。?