区分didSelectViewController的viewcontrollers

时间:2011-06-15 17:58:33

标签: objective-c

我需要更换什么?与它的工作?谢谢!

- (void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) viewController {
switch(viewController.???) {
    case 0:
        // first UIViewController was selected
    case 1:
        // second UIViewController was selected
        break;
}

}

4 个答案:

答案 0 :(得分:1)

你有点困惑。

(void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) viewController {

选择的viewcontroller由指针viewController指向。

注意它是如何说didSelectViewController: viewController,这是Objective C中的一种常见语法,它表示所选的UIViewController对象由指针语句指向。在其他语言中,只需提及进入的对象的类型,在Objective C中,该对象的原因是方法名称的一部分。

不需要开关,也不需要开关。

答案 1 :(得分:1)

switch(tabBarController.selectedIndex){
    case 0:
        ...
        break;
    ...
}

答案 2 :(得分:1)

检查选择了哪个viewController的方法是检出标记,该标记是UIView的NSInteger属性。

所以你可以......

switch(viewController.view.tag)
{
    case 0:
        // do work
        break;
    case 1:
        // do work
        break;
}

答案 3 :(得分:0)

我认为你只需要这行代码:

tabBarController.selectedIndex

您可以检查此号码以了解所选的标签,从而选择了控制器。