IndicatorInfoProvider and returning an instance of IndicatorInfo with an image, a crash occurs when trying set the image to the the imageview of the buttonbarcell.
Here is how I implemented the IndicatorInfoProvider protocol:

Thanks :]
Same Issue with me.
Please Help.
Look at ButtonBarViewCell.xib:
It has an outlet for an imageView, but no actual UIImageView was added to the cell.
Thanks!
Adding imageView in the cell and connecting the outlet worked for me.
There are 2 modes, "text only" mode, and "text + image" mode.
If you only need one of those modes, then you're fine, but if you need both modes in the same app, like me, you have to play around with the constraints to support positioning in each mode.
Take a look at how YoutubeExampleViewController is created. Basically it extends from aseButtonBarPagerTabStripViewControllerYoutubeIconCell.
I didn't document this because it's hard to connect interface builder view controller with a generic view controller class since the vc type is not suggested in the xcode IB editor.
You have to let the library knows how to load the bar item cell by specifying buttonBarItemSpec property.
buttonBarItemSpec = ButtonBarItemSpec.nibFile(nibName: "YoutubeIconCell", bundle: Bundle(for: YoutubeIconCell.self), width: { (cell: IndicatorInfo) -> CGFloat in
return 55.0
})
we need also to set up the cell by overriding:
override func configure(cell: YoutubeIconCell, for indicatorInfo: IndicatorInfo) {
cell.iconImage.image = indicatorInfo.image?.withRenderingMode(.alwaysTemplate)
}
Notice that the first parameter type is the base view controller generic type.
the rest is pretty much the same.
Hope it's helps
How to do this (adding image and label) programmatically? And without Nib file
Most helpful comment
How to do this (adding image and label) programmatically? And without Nib file