ios - 如何以编程方式使用 UITabBar

标签 ios swift uitabbarcontroller uipagecontrol

enter image description here

Swift 语言

主要问题

在图像中,我有一个绿色和一个蓝色 View 。我可以在这两个 View 之间滑动,现在我想实现一个 UITabBar ,这样我就知道我选择了哪个 View 。我尝试了 UIPageControl 但我无法以任何方式自定义指示器。我尝试创建一个 UITabBarController 但我不知道把它放在哪里。

第一次尝试

如果我使用 seguesUITabBarController绿色蓝色 View 连接,则指示器将不会加载,只是酒吧。

第二次尝试

如果我将 UITabBarControllerpageviewcontrollercontainer View 连接,它会将它们添加到指示器中,当我连接 >蓝色绿色 View 后我将无法滑动。

最后一次尝试(未尝试过)

我唯一没有尝试过的就是在 pageviewcontrollers.swift 文件中以编程方式执行此操作。我真的不知道如何以编程方式实现 TabBar,我想寻求一些帮助。如果您想知道为什么我宁愿使用 UITabBar 而不是 页面控制 指示器,是因为我可以将指示器编辑为图标。

pageviewcontroller中的代码

import UIKit

class secondPageViewController: UIPageViewController , UIPageViewControllerDataSource, UIPageViewControllerDelegate {

    var pages = [UIViewController]()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.delegate = self
        self.dataSource = self

        let page4: UIViewController! = storyboard?.instantiateViewControllerWithIdentifier("page4")
        let page5: UIViewController! = storyboard?.instantiateViewControllerWithIdentifier("page5")



        pages.append(page4)
        pages.append(page5)



        setViewControllers([page4], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil)
    }


    func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {


        let currentIndex = pages.indexOf(viewController)!


        let previousIndex = abs((currentIndex - 1) % pages.count)


        if (previousIndex > 0)
        {
            return nil
        }



        return pages[previousIndex]
    }

    func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
        let currentIndex = pages.indexOf(viewController)!
        let nextIndex = abs((currentIndex + 1) % pages.count)


        if (nextIndex < 1)
        {
            return nil
        }

        return pages[nextIndex]

    }






    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

最佳答案

答案链接:https://github.com/uacaps/PageMenu

功能齐全的页面菜单,带有选项。

关于ios - 如何以编程方式使用 UITabBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33718304/

相关文章:

swift - 复习没有结束,再次下拉时出现错误

ios - 文本字段和标签未正确对齐

ios - PubNub 本地消息重复?

ios - 表刷新时索引超出范围?

iphone - Modal Segue iOS 后同一 TabBarController 的多个实例

ios - 开始/结束外观转换的不平衡调用...- UIViewController 包含

ios - 如何在 iOS 10 中更改特定栏按钮项目的色调颜色

iOS 操作 - 如何从 UIAction 获取标准 UIButton 的事件数据?

ios - Objective-C 中的十六进制转储

swift - 在 Firebase 中按指定子项过滤和排序