代码之家  ›  专栏  ›  技术社区  ›  Zoro

无法从AppDelegate自定义我的选项卡[已关闭]

  •  0
  • Zoro  · 技术社区  · 12 年前

    我想为我的应用程序制作一个自定义的选项卡,我已经试着把我的代码放在第一个视图控制器中了,它很管用!。 但问题是,我想声明我的代码并将其放在Appdelegate.m中,但当我运行它时,它只显示一个没有图像的黑色选项卡控制器。 为了您的信息,我从故事板中嵌入了我的选项卡控制器。

    这是代码

        UIImage *selectedImage0   = [UIImage imageNamed:@"img1.png"];
        UIImage *unselectedImage0 = [UIImage imageNamed:@"img1hov.png"];
    
        UIImage *selectedImage1   = [UIImage imageNamed:@"img2.png"];
        UIImage *unselectedImage1 = [UIImage imageNamed:@"img2hov.png"];
    
        UIImage *selectedImage2   = [UIImage imageNamed:@"img3.png"];
        UIImage *unselectedImage2 = [UIImage imageNamed:@"img3hov.png"];
    
        UIImage *selectedImage3   = [UIImage imageNamed:@"img4.png"];
        UIImage *unselectedImage3 = [UIImage imageNamed:@"img4hov.png"];
    
        UIImage *selectedImage4   = [UIImage imageNamed:@"img5.png"];
        UIImage *unselectedImage4 = [UIImage imageNamed:@"img5hov.png"];
    
    
    
        UITabBar *tabBar = self.tabBarController.tabBar;
        UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
        UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
        UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
        UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
        UITabBarItem *item4 = [tabBar.items objectAtIndex:4];
    
        tabBar.backgroundImage = [UIImage imageNamed:@"back_menu.png"];
    
    
        [item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
        [item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
        [item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
        [item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
        [item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4];
    
    2 回复  |  直到 12 年前
        2
  •  0
  •   Alphapico    12 年前

    这个代码对我来说很好。你怎么添加 UIViewController UITabBarController 在appDelegate中?不是这样吗?

    //appDelegate.h
    @property (nonatomic, strong) SomeViewController *viewController;
    @property (nonatomic, strong) UITabBarController *tabBarController;
    //and synthesize those
    
    //appDelegate.m
    self.viewController = [[SomeViewController alloc]  initWithNibName:@"SomeViewController" bundle:nil];
    
    UITabBarController *tabBarController = [[UITabBarController alloc] init];
    [tabBarController setViewControllers:[NSArray arrayWithObjects:self.viewController, nil];
    

    您可以访问 self.tabBarController self.viewController 通过使用从任何位置驻留在appDelegate中 ((AppDelegate *)[UIApplication sharedApplication].delegate)