XLPagerTabStrip не считывает следующий виртуальный канал - PullRequest
0 голосов
/ 02 сентября 2018

Я не знаю, почему он не переходит к следующему viewController. Вместо этого он перемещается на пустую страницу, и ползунок также не перемещается. Но когда я нажимаю на вкладки, он работает нормально и скользит к следующему viewController. На самом деле не уверен, почему это так? Любая помощь приветствуется. Спасибо

import UIKit
import XLPagerTabStrip

class mainProfileViewController: ButtonBarPagerTabStripViewController {

        @IBOutlet weak var scrollView: UIScrollView!
        @IBOutlet weak var contentView: UIView!
        @IBOutlet weak var headerView: HeaderView!
        @IBOutlet weak var barView: ButtonBarView!
        @IBOutlet weak var viewContainer: UIScrollView!

    let grayColor = UIColor(red: 21/255.0, green: 21/255.0, blue: 24/255.0, alpha: 1.0)

        override func viewDidLoad() {

        settings.style.buttonBarBackgroundColor = grayColor
        settings.style.buttonBarItemBackgroundColor =
        grayColor
        settings.style.selectedBarBackgroundColor = UIColor.init(red: 14.0/255, green: 122.0/255, blue: 254.0/255, alpha: 1.0)
        settings.style.buttonBarItemFont = UIFont(name: "AppleSDGothicNeo-Bold", size:15) ?? UIFont.systemFont(ofSize: 18)
        settings.style.selectedBarHeight = 2.0
        settings.style.buttonBarMinimumLineSpacing = 0
        settings.style.buttonBarItemTitleColor = .red
        settings.style.buttonBarItemsShouldFillAvailableWidth = true
        settings.style.buttonBarHeight = 40
        settings.style.buttonBarLeftContentInset = 20
        settings.style.buttonBarRightContentInset = 20

        changeCurrentIndexProgressive = { (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
            guard changeCurrentIndex == true else { return }
            oldCell?.label.textColor = UIColor(red: 138/255.0, green: 138/255.0, blue: 144/255.0, alpha: 1.0)
            newCell?.label.textColor = .white  
            }

            super.viewDidLoad()
        }

    override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {

        let child_1 = storyboard!.instantiateViewController(withIdentifier: "profilePhotoViewController") as! profilePhotoViewController
        let child_2 = storyboard!.instantiateViewController(withIdentifier: "profileVideoController") as! profileVideoController

        return [child_1, child_2]

    }
}

child_1 ViewController

class photosNewsfeedViewController: UIViewController, IndicatorInfoProvider {

    var itemInfo: IndicatorInfo = "Photos"

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    func indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {

        return itemInfo
    }
}

child_2 ViewController

class videoNewsfeedViewController: UIViewController, IndicatorInfoProvider {

    var itemInfo: IndicatorInfo = "Videos"

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    func indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {

        return itemInfo
    }
}
...