我正在设计一个段控件,我已经实现了一个页面视图控制器来在视图之间滑动。此外,我还实现了段操作功能,以便在用户触摸任何特定段时在视图之间切换。
但我现在面临的问题是,每当我通过点击所选片段的片段来选择特定片段时,无论何时我在视图之间滑动,我都无法更改所选索引。
所以我不能每次都得到加载的视图的索引?或者对我的问题提出任何建议。
我已经实现了以下功能。
func viewControllerAtIndex(index : Int) -> UIViewController/
{
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController?
{
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController?
{
}
@IBAction func sendsegmentcontrollerIndex(sender: AnyObject)
{
//codes for changing the present view controller on segment selection
}
那么我现在必须做些什么才能获得预期的结果呢? 我甚至试图向我的页面视图控制器添加滑动手势,但是徒劳无功。
答案 0 :(得分:0)
您应该覆盖此委托:pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool)
。也许你可以这样实现:
func pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
if pageViewController.viewControllers?.first?.isKindOfClass([yourClass]) {
//self.changeIndex()
}
}
在此委托中,您将检测页面移动的内容。并且您会将细分设置为与此viewcontroller
索引匹配。
答案 1 :(得分:0)
func pageViewController(pageViewController: UIPageViewController,
didFinishAnimating finished: Bool,
previousViewControllers: [UIViewController],
transitionCompleted completed: Bool)
{
let pageContentViewController = pageViewController.viewControllers![0] as! ContentViewController
let index = pageContentViewController.pageIndex
print(index)
seg.selectedSegmentIndex = index
}