Как использовать UITabBar программно
Swift язык
Главная проблема
В образе У меня есть зеленый и синий вид. Я могу провести между этими двумя видами, и теперь я хочу реализовать UITabBar
, поэтому я знаю, на каком представлении я выбрал. Я попробовал UIPageControl
, но я никак не могу настроить индикаторы. Я попытался создать UITabBarController
, но я не знаю, где его поставить.
Первая попытка
Если я подключить UITabBarController
с зеленый и голубой зрения с помощью перетекает то индикатор не будет загружаться, только бар.
Вторая попытка
Если я подключаю UITabBarController
с pageviewcontroller или контейнера зрения он добавит их в индикатор и при подключении к голубой и зеленый вид после того как я не смогут скользить.
Последняя попытка (не пробовал)
Единственное, что я не пробовал это делает программно внутри файла 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.
}
}