如何从标签栏项触发操作?

时间:2012-03-22 08:49:18

标签: iphone ios cocoa-touch uitabbar

我在UITabBarItems上添加操作时遇到了一些问题。我没有使用TabBarController,只是带有项目的tabbar。

我在viewDidLoad中尝试了以下内容:

[_myTabItem performSelectorOnMainThread:@selector(myfunction:) withObject:nil waitUntilDone:NO];

这导致Unrecognized Selector sent to instance例外。

有没有人处理过类似的问题?

2 个答案:

答案 0 :(得分:-1)

我不确定您使用performSelectorOnMainThread调用尝试完成的任务。这只是发送标签栏项myfunction:消息,显然条形项不响应。

我不认为标签栏项目应该触发操作。它们只是标签栏的构建块,然后向您发送 - 委托 - 所有事件,如UITabBarDelegate协议所述。该协议包括tabBar:didSelectItem:方法,您可以通过该方法响应正在按下的标签栏项目。 (但一般情况下,不要考虑按下标签栏项目,请考虑选择标签。)

答案 1 :(得分:-1)

[_myTabItem performSelectorOnMainThread:@selector(myfunction:) withObject:nil waitUntilDone:NO];

从上面的代码行中可以看出myfunction有一个参数,但你没有传递任何参数,你设置withObject:nil

要么传递myfunction所需的参数,要么只使用简单的myfunction { }