简体   繁体   中英

Tab like Android in iOS Swift

I am Working on Tab like android in iOS Swift3 . I have installed XLPagerTabStrip successful but facing problem:

terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard () doesn't contain a view controller with identifier 'child1'

Here is my Code:

import UIKit
import XLPagerTabStrip
class ParentViewController: ButtonBarPagerTabStripViewController {

let customPurpleColor = UIColor(red:0.13 , green : 0.03 , blue : 0.25 , alpha : 1.0)
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    settings.style.buttonBarBackgroundColor = .white
    settings.style.buttonBarItemBackgroundColor = .white
    settings.style.selectedBarBackgroundColor = customPurpleColor
    settings.style.buttonBarItemFont = .boldSystemFont(ofSize: 14)
    settings.style.selectedBarHeight = 1.0
    settings.style.buttonBarMinimumLineSpacing = 0
    settings.style.buttonBarItemTitleColor = .black
    settings.style.buttonBarItemsShouldFillAvailiableWidth = true
    settings.style.buttonBarLeftContentInset = 0
    settings.style.buttonBarRightContentInset = 0
    changeCurrentIndexProgressive = { [weak self] (oldCell : ButtonBarViewCell? , newCell : ButtonBarViewCell?
        , progressPercentage: CGFloat, changeCurrentIndex : Bool , animated : Bool) -> Void in
        guard changeCurrentIndex == true else {return}
        oldCell?.label.textColor = .black
        newCell?.label.textColor = self?.customPurpleColor
        }
}
override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
    let child_1 = UIStoryboard(name : "Main" , bundle : nil).instantiateViewController(withIdentifier: "child1")
    let child_2 = UIStoryboard(name : "Main" , bundle : nil).instantiateViewController(withIdentifier: "child2")
    return [child_1 , child_2]
        }
}

ChildViewController1.swift:

import UIKit
import XLPagerTabStrip


class ChildViewController1: UIViewController , IndicatorInfoProvider{
 func indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {
    return IndicatorInfo(title : "child1")
}
}

ChildViewController2.swift:

import UIKit
import XLPagerTabStrip

class ChildViewController2: UIViewController , IndicatorInfoProvider{
func indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {
    return IndicatorInfo(title : "child1")
}
}

I have used the UIScrollView and collectionView to buttonBarView in Main.storyboard . Because I am new to iOS Development that's why I'm not getting why this error occurs?

You need to set ViewController's identifier as below :

在此输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM