2012-07-06 94 views
0

我MainStoryboard的结构是:获取选项卡选择事件的视图控制器

->Tab Bar Controller -> Navigation Controller -> View Controller (Search) 

我想要的行为,当用户重新选择搜索选项卡,就可以了UIScrollView的滚动到顶端。但我不确定如何从TabBarController获取事件。

我一直在寻找一个关于UITabBarDelegate很多东西,特别是:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 

我有,不是很成功地得到这个正常工作,虽然。我非常不确定如何去设置委托(假设是这样做的)。我尝试过在IB中进行连接,但它不会让我。我也尝试从AppDelegate获取UITabBar(在看了一些看似相关的答案之后)。

任何指针将不胜感激(除非它们为空)。

回答

1
UITabBar *aTabBar = [UITabBarItem alloc] init]; 

....你想给aTabBar任何其他修改....

[aTabBar setDelegate:self] 
0

不要忘记将“<UITabBarDelegate>”添加到您试图指定为代表的任何对象的“@interface”部分。

对于我自己的代码,我通常使用一些对象不是应用程序委托(如应用程序委托通常意味着应用程序级的事件,如“应用程序挂起”或“应用程序是回来到前台” )。如果将“<UITabBarDelegate>”添加到搜索视图控制器,请确保您对“didSelectItem”方法所做的任何操作仅适用于搜索视图控制器。否则,实例化一些不同的对象,如果你想基于哪个标签栏项目被显示在各种视图控制器上执行操作。

+0

我有我的搜寻 - 视图 - 控制器。我想知道如何真正将其设置为代表。我试过的东西似乎都没有做到。 – ratbum 2012-07-06 12:05:30

相关问题