Swift 语言
主要问题
在图像中,我有一个绿色和一个蓝色 View 。我可以在这两个 View 之间滑动,现在我想实现一个 UITabBar ,这样我就知道我选择了哪个 View 。我尝试了 UIPageControl
但我无法以任何方式自定义指示器。我尝试创建一个 UITabBarController
但我不知道把它放在哪里。
第一次尝试
如果我使用 segues 将 UITabBarController
与绿色和蓝色 View 连接,则指示器将不会加载,只是酒吧。
第二次尝试
如果我将 UITabBarController
与 pageviewcontroller 或 container 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/