【问题标题】:Trying to place a UINavigationController as one of the tabs inside a UITabBarController试图将 UINavigationController 作为 UITabBarController 内的选项卡之一
【发布时间】:2023-03-30 03:44:02
【问题描述】:

我正在编写一个有 3 个标签的 iPhone 应用程序。前两个是 UITableViews,但第三个选项卡我想成为 UINavigationController,因为它用于编辑食谱列表。

我已经尝试了所有我能想到的笔尖组合以使其正常工作,但遇到以下问题:

  • 单击编辑选项卡后,再单击返回到其他选项卡,显示屏仍会显示编辑选项卡的部分内容,例如导航栏
  • 当您单击编辑选项卡时,您会看到一个没有内容或标题的空白导航控制器,即使选项卡内的导航控制器在检查器中设置了“笔尖名称”和“类”

我只是想知道执行此操作的最佳方法:将编辑器(我认为应该是导航控制器?)放在选项卡中。我有什么明显的遗漏吗?

非常感谢大家

【问题讨论】:

    标签: iphone xcode uitableview uinavigationcontroller


    【解决方案1】:

    我以前也用导航控制器编辑按钮,而且效果很好,所以这可能是个不错的选择。

    如果您希望导航控制器仅用于一个视图,则需要通过切换选项卡来隐藏它

    self.navigationController.navigationBarHidden = YES;或者没有

    由于我不使用 IB(它是黑匣子),我建议您手动分配有关导航控制器的所有(标题、按钮等)。效果很好,你会看到你做了什么。

    【讨论】:

    • 所以你是说我应该将导航控制器作为我的主控制器,并将标签控制器放入其中,并根据选择的标签打开和关闭导航栏?
    • 我喜欢你所说的关于 IB 的内容——这真的是个谜。
    • 是的..你可以像这样..主根控制器将是导航控制器,但你最初隐藏它。然后,如果您选择具有编辑功能的选项卡,您将取消隐藏它并再次返回
    【解决方案2】:

    好的,我解决了。反正我已经走在正确的轨道上了。

    我的主窗口现在有一个标签栏控制器。其中一个选项卡的 nib 名称和类设置为我的导航视图。

    在我的导航视图中,在笔尖中我有一个空视图和一个导航控制器。在实现文件中,我有以下代码将导航控制器附加到空视图中,现在它工作得很好!

    - (void)viewDidLoad {
        [super viewDidLoad];    
        [[self view] addSubview:navController.view]; // This is the important line
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2016-02-05
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多