如何将选项卡栏放置在单独的情节提要中,并且它和导航栏没有问题

鲍勃·斯通

我的项目中有很多页面,所以我使用了多个Storyboaord。登录页面后,我想转到一个有五个页面的标签栏控制器。因此,我的标签栏控制器位于其自己的故事板中。故事板的名称为HomePage,选项卡栏标识符为HomePageVC。因此,我用来从登录页面(登录后)调用的代码是:

let storyboard = UIStoryboard(name: "HomePage", bundle: nil)
            let secondVC = storyboard.instantiateViewController(identifier: "HomePageVC")
            self.navigationController?.pushViewController(secondVC, animated: true)

然后以这种方式设置主页情节提要[![在此处输入图片描述] [1]] [1]

五个选项卡中的每个选项卡均导致在不同的故事板中使用不同的视图控制器(为此,我使用了故事板参考)。现在我遇到三个问题:

  1. 当我使用此方法显示标签栏和下一个视图控制器时,有两个导航控制器。因此,基本上是连接到导航栏控制器的视图控制器(并且导航栏控制器被设置为初始视图控制器)。问题是先前的视图控制器导航栏被推到了下一个视图控制器导航栏。导致双Mac吧。我想删除顶部的导航栏,并保留以下导航栏的文本。

  2. 我遇到的第二个问题是标签栏实际上没有正确显示,它只是一个灰色栏。但是,我认为按钮仍然存在,因为当我单击选项卡栏上应有按钮的部分时,它会转到该视图控制器。

  3. 最后一个问题是我为标签栏按钮放入的图像太大。如何将它们调整为合适的尺寸。我不确定这是否是导致第二个问题的原因,但可能是。那么我该如何解决这些问题。

唐马格

未来注意事项:您一次只能问一个问题。


对于问题1-双导航栏。

在登录视图控制器中,您可以执行以下操作:

class LogInViewController: UIViewController {

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        // show the navigation bar
        self.navigationController?.setNavigationBarHidden(false, animated: false)
    }
    
    @IBAction func loginTapped(_ sender: Any) {
        
        // hide the navigation bar
        self.navigationController?.setNavigationBarHidden(true, animated: false)
        
        let storyboard = UIStoryboard(name: "HomePage", bundle: nil)
        let secondVC = storyboard.instantiateViewController(identifier: "HomePageVC")
        self.navigationController?.pushViewController(secondVC, animated: true)
        
    }
    
}

问题2-标签栏图标未显示。

在导航控制器中嵌入选项卡栏控制器通常被认为是不好的做法,因为导航可能会使用户感到困惑。但是,我不是Apple,如果它适合您的设计并且导航仍然直观...

我只是尝试了一下,没有,标签栏按钮图标(和标题)没有显示。不完全确定为什么...但是这是一种方法。

首先,删除所有当前的标签栏控制器连接。因此,您的“主页”情节提要板将仅具有一个标签栏控制器(情节提要ID为“ HomePageVC”)。

接下来,将一个UITabBarController子类添加到您的项目中,并将其分配给“ HomePageVC”选项卡栏控制器。它看起来像这样:

class MyTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        var sb = UIStoryboard(name: "Settings", bundle: nil)
        guard let tab1VC = sb.instantiateInitialViewController() else {
            fatalError("Could not load Settings VC!")
        }
        guard let tab1Icon = UIImage(named: "settignsTabIcon") else {
            fatalError("Could not load settignsTabIcon image!")
        }
        tab1VC.tabBarItem = UITabBarItem(title: "Settings", image: tab1Icon, selectedImage: tab1Icon)

        sb = UIStoryboard(name: "Communication", bundle: nil)
        guard let tab2VC = sb.instantiateInitialViewController() else {
            fatalError("Could not load Communication VC!")
        }
        guard let tab2Icon = UIImage(named: "communicationTabIcon") else {
            fatalError("Could not load communicationTabIcon image!")
        }
        tab2VC.tabBarItem = UITabBarItem(title: "Comunication", image: tab2Icon, selectedImage: tab2Icon)

        // etc for your other 3 tabs
        
        let viewControllerList = [ tab1VC, tab2VC ]
        viewControllers = viewControllerList
        
    }
    
}

关于问题3-标签图标的大小...您可能可以通过简单的搜索找到它...如果不能,请回来并作为新帖子提出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当片段显示在带有导航选项卡的操作栏中时,加载数据

来自分类Dev

Xcode 4.6.3-无法在情节提要上选择选项卡栏项?

来自分类Dev

自定义推送Segue删除情节提要中的导航栏和标签栏

来自分类Dev

使用ViewPager和导航抽屉的操作栏选项卡

来自分类Dev

使用情节提要在选项卡栏控制器中设置选定的图像

来自分类Dev

选项卡栏图像在情节提要中显示良好,但在模拟器中显示不佳

来自分类Dev

隐藏情节提要中的导航栏

来自分类Dev

登录情节提要后如何更改选项卡栏项目

来自分类Dev

如何在选项卡栏控制器情节提要中添加视图

来自分类Dev

如何在情节提要中设置导航栏标题?

来自分类Dev

如何将主视图控制器添加到不是选项卡栏项目之一的选项卡栏控制器?

来自分类Dev

带有进度栏的引导导航选项卡

来自分类Dev

带有选项卡的导航抽屉和工具栏

来自分类Dev

选项卡栏图标和标题未与情节提要参考一起显示

来自分类Dev

iOS启动情节提要:如何更改选项卡栏的色调颜色?

来自分类Dev

没有TabBarController的选项卡栏-在情节提要中为选项卡栏项添加视图控制器

来自分类Dev

在情节提要中的NSTabViewController中隐藏选项卡栏

来自分类Dev

在情节提要中加载选项卡栏控制器之前,如何初始化自定义启动屏幕?

来自分类Dev

使用选项卡栏和导航栏的React Native中的iOS 13黑暗模式

来自分类Dev

react-native-navigation:如何转到没有选项卡栏的特殊页面?

来自分类Dev

如何将目标视图放在选项卡栏的顶部?

来自分类Dev

如何将导航菜单与搜索栏和下拉选项卡对齐?

来自分类Dev

没有组件屏幕渲染的选项卡栏导航

来自分类Dev

隐藏情节提要中的导航栏

来自分类Dev

如何将选项卡栏控制器插入情节提要中?

来自分类Dev

如何将基于情节提要的页眉和CustomTableCell添加到“搜索栏和搜索显示控制器”

来自分类Dev

在Shiny中添加带有各种顶级导航栏的链接面板选项卡

来自分类Dev

在情节提要中加载选项卡栏控制器之前,如何初始化自定义启动屏幕?

来自分类Dev

材质 UI 将抽屉和应用栏嵌套在带有选项卡的应用栏中

Related 相关文章

  1. 1

    当片段显示在带有导航选项卡的操作栏中时,加载数据

  2. 2

    Xcode 4.6.3-无法在情节提要上选择选项卡栏项?

  3. 3

    自定义推送Segue删除情节提要中的导航栏和标签栏

  4. 4

    使用ViewPager和导航抽屉的操作栏选项卡

  5. 5

    使用情节提要在选项卡栏控制器中设置选定的图像

  6. 6

    选项卡栏图像在情节提要中显示良好,但在模拟器中显示不佳

  7. 7

    隐藏情节提要中的导航栏

  8. 8

    登录情节提要后如何更改选项卡栏项目

  9. 9

    如何在选项卡栏控制器情节提要中添加视图

  10. 10

    如何在情节提要中设置导航栏标题?

  11. 11

    如何将主视图控制器添加到不是选项卡栏项目之一的选项卡栏控制器?

  12. 12

    带有进度栏的引导导航选项卡

  13. 13

    带有选项卡的导航抽屉和工具栏

  14. 14

    选项卡栏图标和标题未与情节提要参考一起显示

  15. 15

    iOS启动情节提要:如何更改选项卡栏的色调颜色?

  16. 16

    没有TabBarController的选项卡栏-在情节提要中为选项卡栏项添加视图控制器

  17. 17

    在情节提要中的NSTabViewController中隐藏选项卡栏

  18. 18

    在情节提要中加载选项卡栏控制器之前,如何初始化自定义启动屏幕?

  19. 19

    使用选项卡栏和导航栏的React Native中的iOS 13黑暗模式

  20. 20

    react-native-navigation:如何转到没有选项卡栏的特殊页面?

  21. 21

    如何将目标视图放在选项卡栏的顶部?

  22. 22

    如何将导航菜单与搜索栏和下拉选项卡对齐?

  23. 23

    没有组件屏幕渲染的选项卡栏导航

  24. 24

    隐藏情节提要中的导航栏

  25. 25

    如何将选项卡栏控制器插入情节提要中?

  26. 26

    如何将基于情节提要的页眉和CustomTableCell添加到“搜索栏和搜索显示控制器”

  27. 27

    在Shiny中添加带有各种顶级导航栏的链接面板选项卡

  28. 28

    在情节提要中加载选项卡栏控制器之前,如何初始化自定义启动屏幕?

  29. 29

    材质 UI 将抽屉和应用栏嵌套在带有选项卡的应用栏中

热门标签

归档