【问题标题】:UITabBarController not respondingUITabBarController 没有响应
【发布时间】:2013-06-24 07:15:30
【问题描述】:

我正在使用带有 UINavigationControllers 的 UITabBarController

我将它添加到视图中使用

tabctrl.view.frame = CGRectMake(0, 0, 320, 548);
[self.view addSubview:tabctrl.view];

屏幕看起来像

但我不能切换到其他标签(即触摸tabctrl的标签没有反应)

如果我改变框架像

tabctrl.view.frame = CGRectMake(0, 0, 320, 488);

然后屏幕看起来像,

现在,我可以触摸选项卡并切换到所需的视图控制器。如何解决这个问题?

当它的框架高度为 568 时,我需要访问 tabctrl。

我正在使用 xcode 4.6.2 和 ios 模拟器 4 英寸视网膜。

【问题讨论】:

  • 先清除一下[self.view addSubview:tabctrl.view]; self.view 是什么?
  • 自我。视图,视图是一个 UIViewcontroller
  • 那么它(UIViewcontroller)被添加到窗口的什么位置?
  • 你有没有把你的项目类型当成TabBar类型的app
  • 而UIViewcontroller的目的是什么

标签: ios objective-c uinavigationcontroller uitabbarcontroller iphone-5


【解决方案1】:

使用此代码:

 [appDelegate.window setRootViewController:tabctrl];

而不是:

tabctrl.view.frame = CGRectMake(0, 0, 320, 568);
[self.view addSubview:tabctrl.view];

【讨论】:

    【解决方案2】:

    您的标签栏控制器可能位于屏幕底部的其他内容后面。可以用代码测试一下:

    [self.view bringSubviewToFront: tabctrl]
    

    如果这能解决您的问题,请尝试查找标签栏控制器前面的视图

    【讨论】:

      【解决方案3】:

      将你的 rootViewController 的 WantsFullScreenLayout 属性设置为 YES

      tabbarController.wantsFullScreenLayout = YES
      

      这应该可以解决您在 4 英寸屏幕上的标签栏切换问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-01
        • 1970-01-01
        相关资源
        最近更新 更多