• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 为什么从 popviewcontroller 到另一个 View 时启用了我的 Tabbar 的用户交互?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:33:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

如果我错了,请检查我的代码。

我的应用程序第一次启动时一切都很好

tabBars.tabBar.userInteractionEnabled=NO;

此代码运行良好意味着我的标签栏 userInteraction 已关闭。但是我会转到另一个 View 并简单地使用 popViewController 并首先查看我的 userInteraction 已启用,为什么? 我找不到这个问题。

EATabBarVC *tabBars = [[EATabBarVC alloc] init];
UIImage *tabBarImage = [UIImage imageNamed"BottomTabBar.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:tabBarImage];
imageView.frame = CGRectMake(self.view.frame.origin.x, 0, self.view.frame.size.width, tabBars.tabBar.frame.size.height);
[imageView sizeToFit];
tabBars.tabBar.userInteractionEnabled=NO;
[tabBars.tabBar insertSubview:imageView atIndex:0];
tabBars.tabBar.tintColor = [UIColor colorWithRed:136/255.f green:159/255.f blue:186/255.f alpha:1];
tabBars.tabBar.tintColor = [UIColor whiteColor];
tabBars.navigationController.navigationBarHidden = YES;
    NSMutableArray *localViewControllersArray = [[NSMutableArray alloc] initWithCapacity:3];

    EAHomeVC *objEAHomeVC = [[EAHomeVC alloc] init];




    UINavigationController *dashboardNavController = [[UINavigationController alloc] initWithRootViewControllerbjEAHomeVC];

    dashboardNavController.navigationBar.hidden = YES;


    EAScanLeadsVC *objEAScanLeadsVC = [[EAScanLeadsVC alloc] init];
    objEAScanLeadsVC.delegate = self;
    objEAScanLeadsVC.tabBarItem.titlePositionAdjustment = UIOffsetMake(0.0, -3.0);
    if (IS_IPHONE6PLUS) {
        objEAScanLeadsVC.tabBarItem.titlePositionAdjustment = UIOffsetMake(0.0, -6.0);
    }
    if (IS_IPADAIR2||IS_IPADMINI) {
        objEAScanLeadsVC.tabBarItem.titlePositionAdjustment = UIOffsetMake(0.0, -12.0);

    }

    [objEAScanLeadsVC.tabBarItem setTitleTextAttributes{ NSForegroundColorAttributeName : [UIColor colorWithRed:136/255.f green:159/255.f blue:186/255.f alpha:1],NSFontAttributeName : ROBOTOLIGHT(5.39*2.2)}
                                          forState:UIControlStateNormal];
    [objEAScanLeadsVC.tabBarItem setTitleTextAttributes{ NSForegroundColorAttributeName : [UIColor whiteColor],NSFontAttributeName : ROBOTOLIGHT(5.39*2.2) }
                                          forState:UIControlStateSelected];

    UINavigationController *scanNavController = [[UINavigationController alloc] initWithRootViewControllerbjEAScanLeadsVC];
    //scanNavController.title = @"Scan Lead";
    scanNavController.tabBarItem.titlePositionAdjustment = UIOffsetMake(0.0, -3.0);
    if (IS_IPHONE6PLUS) {
        scanNavController.tabBarItem.titlePositionAdjustment = UIOffsetMake(0.0, -6.0);

    }
    if (IS_IPADAIR2||IS_IPADMINI) {
        scanNavController.tabBarItem.titlePositionAdjustment = UIOffsetMake(0.0, -12.0);

    }

    [scanNavController.tabBarItem setTitleTextAttributes{ NSForegroundColorAttributeName : [UIColor colorWithRed:136/255.f green:159/255.f blue:186/255.f alpha:1],NSFontAttributeName : ROBOTOLIGHT(5.39*2.2) }
                                                forState:UIControlStateNormal];
    [scanNavController.tabBarItem setTitleTextAttributes{ NSForegroundColorAttributeName : [UIColor whiteColor],NSFontAttributeName : ROBOTOLIGHT(5.39*2.2) }
                                                forState:UIControlStateSelected];

    [tabBars addCenterButtonWithImage:[UIImage imageNamed"TabBarScan.png"] highlightImage:[UIImage imageNamed"TabBarScan.png"]];






    [localViewControllersArray addObject:dashboardNavController];
    [localViewControllersArray addObject:scanNavController];


    tabBars.viewControllers = localViewControllersArray;
    tabBars.view.autoresizingMask=(UIViewAutoresizingFlexibleHeight);
    tabBars.navigationController.navigationBar.hidden = YES;
    [tabBars.tabBar setItemWidth:self.view.frame.size.width/3];
    [tabBars.tabBarItem setTitleTextAttributes{ NSForegroundColorAttributeName : [UIColor colorWithRed:136/255.f green:159/255.f blue:186/255.f alpha:1],NSFontAttributeName : ROBOTOLIGHT(5.39*2.2) }
                                               forState:UIControlStateNormal];
    [tabBars.tabBarItem setTitleTextAttributes{ NSForegroundColorAttributeName : [UIColor whiteColor],NSFontAttributeName : ROBOTOLIGHT(5.39*2.2) }
                                               forState:UIControlStateSelected];

    return [[EABaseCenterVC alloc]
            initWithRootViewController:tabBars];



Best Answer-推荐答案


添加此代码可能会有所帮助。

- (void)viewWillAppearBOOL)animated
{
[[[[self.tabBarController tabBar]items]objectAtIndex:0]setEnabled:FALSE];
[[[[self.tabBarController tabBar]items]objectAtIndex:1]setEnabled:FALSE];
}
- (void)viewDidAppearBOOL)animated
{
[[[[self.tabBarController tabBar]items]objectAtIndex:0]setEnabled:FALSE];
[[[[self.tabBarController tabBar]items]objectAtIndex:1]setEnabled:FALSE];
}

关于ios - 为什么从 popviewcontroller 到另一个 View 时启用了我的 Tabbar 的用户交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40107416/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap