【问题标题】:ios retrieve when uitabbarcontroller item is selectedios在选择uitabbarcontroller项目时检索
【发布时间】:2011-09-19 22:02:20
【问题描述】:

当用户单击 tabbaritem 进入 uitabbarcontroller 以更改某些内容时,我需要检索.. 这是我的代码:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
    if (item == [tabBarController.tabBar.items objectAtIndex:2]) {
        item.title = @"add shot";
    }
    else
    {
        item.title = @"Race";
    }
}

但如果我这样做:

self.tabBarController.tabBar.delegate = self;

我收到了一个信号...

什么是正确的解决方案?提前致谢

【问题讨论】:

    标签: objective-c ios uitabbarcontroller uitabbar uitabbaritem


    【解决方案1】:

    您的视图控制器是否符合 UITabBarDelegate 协议? 在头文件中:

    @interface MyViewController : UIViewController<UITabBarDelegate> {
        // ...
    }
    
    - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
    
    @end
    

    然后,做:

    tabBar.delegate = self;
    

    代替:

    self.tabBarController.tabBar.delegate = self;
    

    还有:

    - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
        //self.tabBarItem.title = @"Title";
    }
    

    【讨论】:

    • with tabBarController.delegate 没有给我 sigkill,但 didSelectItem 方法属于 UITabBarDelegate,而不是 UITabBarControllerDelegate
    • 更新答案,试试看。
    【解决方案2】:

    我在学习 iOS 开发时遇到了这个答案,但我想为像我这样的 n00bs 包括一些缺失的部分。

    // HelloWorldViewController.h
    @interface HelloWorldViewController : UIViewController <UITabBarDelegate>
    {   
    }
    @property (weak, nonatomic) IBOutlet UITabBar *tabBar;    
    @end
    

    // HelloWorldViewController.m
    @interface HelloWorldViewController ()
    
    @end
    
    @implementation HelloWorldViewController 
    @synthesize tabBar;
    - (void) viewDidLoad
    { 
       tabBar.delegate = self;
    }
    
    -(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
    {
          NSLog(@"didSelectItem: %d", item.tag);
    }
    
    @end
    

    【讨论】:

    • 太棒了!你让我今天一整天都感觉很好!非常适合我的一段代码!
    猜你喜欢
    • 2023-04-10
    • 2013-08-22
    • 2012-05-12
    • 1970-01-01
    • 2013-06-21
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多