XLPagerTabStrip 选项卡没有获得相等的屏幕宽度:Swift

Posted

技术标签:

【中文标题】XLPagerTabStrip 选项卡没有获得相等的屏幕宽度:Swift【英文标题】:XLPagerTabStrip Tabs not getting equal width of screen :Swift 【发布时间】:2017-11-06 18:47:58 【问题描述】:

我正在使用 XLPagerTabStrip,我分别有一个 Scrollview 和一个 collectionView 名称 Container 和 ButtonBarView。除 Tab item Visibility 外,一切正常。我想要 Tabs 之类的东西,等于划分标签。

Parant 控制器代码为:

import UIKit
import XLPagerTabStrip

class ParentViewController: ButtonBarPagerTabStripViewController 

let purpleInspireColor = UIColor(red:0.13, green:0.03, blue:0.25, alpha:1.0)
override func viewDidLoad() 
    super.viewDidLoad()
    self.edgesForExtendedLayout = []

    // change selected bar color
    settings.style.buttonBarBackgroundColor = .white
    settings.style.buttonBarItemBackgroundColor = .white
    settings.style.selectedBarBackgroundColor = purpleInspireColor
    settings.style.buttonBarItemFont = .boldSystemFont(ofSize: 14)
    settings.style.selectedBarHeight = 2.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?.purpleInspireColor
    




override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] 
    let included = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "IncludedViewController")
    let premium = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "PremiumViewController")
    // let luxury = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "LuxuryViewController")
    return [included,premium]


我有两个名为 Included 和 Premium 的选项卡。

【问题讨论】:

【参考方案1】:

我找到了这个问题的答案

转到 Xcode 项目中的 pod 文件。将 UICollectionViewDelegate 更改为 UICollectionViewDelegateFlowLayout。

类 ButtonBarPagerTabStripViewController:PagerTabStripViewController、PagerTabStripDataSource、PagerTabStripIsProgressiveDelegate、UICollectionViewDataSource、UICollectionViewDelegateFlowLayout

【讨论】:

以上是关于XLPagerTabStrip 选项卡没有获得相等的屏幕宽度:Swift的主要内容,如果未能解决你的问题,请参考以下文章

XLPagerTabStrip 没有填满全宽

XLPagerTabStrip - 选定的选项卡选择不起作用

如何在 XLPagerTabStrip swift 中检测滑动或选择事件

XLPagerTabStrip - 如何在选择更改时更改所选栏的颜色

无法使用带有自定义单元的 BaseButtonBarPagerTabStripViewController 连接 XLPagertabStrip 插座

SQL Server Management Studio中的垂直选项卡 - 并排查询和结果?