XLPagerTabStrip-AnthonyMDev 2.0.3

XLPagerTabStrip-AnthonyMDev 2.0.3

测试测试
语言语言 Obj-CObjective C
许可协议 MIT
发布时间最新发布2017年11月

Anthony MillerJett Farmer 维护。



  • 作者
  • Martin Barreto,Washington Miranda 和 Anthony Miller

XLPagerTabStrip

来自 XMARTLABS

Android PagerTabStrip for iOS!

XLPagerTabStrip 是一个 容器视图控制器,允许我们在多个视图控制器之间轻松切换。可以使用滑动手势转移到下一个或上一个视图控制器。它显示了当前、上一个、下一个子视图控制器交互式指示器。

Screenshot of native Calendar Event Example

XLPagerTabStrip 最初受到 Tell market 应用程序的启发。

目的

XLPagerTabStrip 帮助我们处理与 Android PagerTabStrip 和 PageView 类似的具有相同用户相关性的视图控制器。由于您可以导航到大量视图控制器,XLPagerTabStrip 是解决这个问题的一个可扩展和良好的解决方案。

如何使用它

按照以下步骤集成 XLPagerTabStrip 如同以下步骤一样简单

  1. 创建一个从以下之一扩展的緻 UIKitViewController 类:XLSegmentedPagerTabStripViewControllerXLBarPagerTabStripViewControllerXLButtonBarPagerTabStripViewControllerXLTwitterPagerTabStripViewController

  2. 新创建的具体视图控制器应遵守 XLPagerTabStripViewControllerDataSource 并实现:-(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (建议) 使用 nib 文件或 Storyboard 设置视图控制器。我们需要连接一些 IBOutlets(请参阅 演示文件夹)。

  4. 享受吧!

有关更多详情,请查看 演示文件夹 以查看上述示例的代码。

常见问题解答

#####如何通过编程方式更改可见子视图控制器

XLPagerTabStripViewController 提供以下方法程序化更改可见子视图控制器

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####如何根据选中状态更改选中标签(XLButtonBarViewCell)的外观和感觉

XLButtonBarPagerTabStripViewController 提供一种灵活的方式来根据选中状态使用 blocks 自定义 XLButtonBarViewCell 的外观和感觉。每当当前单元格索引的值更改时,都会调用这些 blocks。

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

由于收集单元格(标签)作为参数传递,您可以完全控制外观、感觉变化和动画。

安装

在您的应用中使用XLPagerTabStrip最简单的方法是通过CocoaPods

  1. 在项目的Podfile文件中添加以下行:pod 'XLPagerTabStrip', '~> 2.0'
  2. 从Podfile文件夹目录运行命令pod install

定制

最有趣的定制功能包括

  • 通过在“标签”上点击跳过中间的视图控制器(使用skipIntermediateViewControllers属性)
  • 通过Storyboard布局,在屏幕的任何位置添加指示器。
  • 选择渐进式、非渐进式指示器(使用isProgressiveIndicator属性)
  • 选择用户在标签之间滚动时的指示器对齐方式(使用barButtonView.selectedBarAlignment属性)
  • 在视图控制器之间添加间距

要求

  • ARC
  • iOS 7.0以上

版本说明

版本 3.0.0

  • selectedBarAlignment已添加到XLButtonBarView
  • shouldCellsFillAvailableWidth已添加到XLButtonBarView
  • 错误修复和稳定性改进。

版本 2.0.0

  • 添加了更改选定标签外观和感觉的能力。
  • changeCurrentIndexProgressiveBlock已添加到XLButtonBarPagerTabStripViewController
  • changeCurrentIndexBlock已添加到XLButtonBarPagerTabStripViewController
  • -(void)pagerTabStrip ViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged; 中增加了 indxWasChanged 参数
  • 错误修复问题 #45:当用户点击当前标签,然后滑动到另一个标签时,指示器现在按预期更改。
  • 错误修复:当使用渐进式指示器在不同标签之间滚动时,指示器现在滚动迅速。它以前会瞬间跳转。
  • 错误修复问题 #54:Twitter PagerTabStrip没有正确加载导航标题。
  • 错误修复问题 #32:修复了Nav Button Bar Example的Demo。
  • 错误修复问题 #32:Twitter Pager标记当前选定标签的白色点现在是不可选的。
  • 错误修复问题 #22:在viewController的viewDidLoad或viewWillAppear中调用moveToViewControllerAtIndex:不会在buttonBarView中反映。

版本 1.1.1

  • 添加了导航按钮示例。
  • 支持iOS 7.0以上版本

版本 1.1.0

  • 添加了Twitter分页器。
  • 错误修复和稳定性改进

版本 1.0.0

  • 首次发布

作者

Martin Barreto (@mtnBarreto)

贡献者

联系

有任何建议或问题?请创建一个Github问题或联系我们。

xmartlabs.com@xmartlabs