SHViewPager 2.0.7

SHViewPager 2.0.7

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年10月

Shabib Hossain维护。



  • 一个简单的 iOS 视图页面,功能类似于 android 的 viewPager。兼容 iOS 8.0 或更高版本。支持所有界面方向的 iPhone 和 iPad。

目录

预览

iPhone 界面

iPhone screen

iPad 界面

iPad screen

优点

  • [x] 支持 Swift (v2.2 和 v3.0) 和 Objective-C
  • [x] 支持所有方向
  • [x] 支持 iPad
  • [x] 支持自动布局

示例项目

包含完全可运行的示例;Objective-C 和 Swift 都有;如果想要亲自试一试,只需下载/检出这个存储库,并首先从示例目录中运行代码

要求

  • Xcode 6+
  • iOS 8+
  • ARC

安装

源文件

  1. 下载最新的代码版本,或将存储库作为 git submodules 添加到您的 git 跟踪项目中。
  2. 将存档中的 ClassesResources 目录从项目导航器拖放到项目中。如果您在项目外提取代码存档,确保选择 复制项目

在 Objective-C 中使用 #import <SHViewPager/SHViewPagerModule.h> 和 Swift 中的 import SHViewPager 来使用 SHViewPager。

如何使用

SHViewPager 需要实现其 datasourcedelegate 协议。简单从代码中初始化,或者更好的

方法 1

  1. 从 Storyboard 中拖动一个 UIView 到您的 UIViewController 中。
  2. 将类更改为 SHViewPager,然后
  3. 最后连接 datasourcedelegate 和您的 IBOutlet 属性。

方法 2

  1. UIViewController 从 Storyboard 拖动到项目中。
  2. 将类更改为 SHViewPagerController

需要四个 数据源 方法,其余方法为可选项。

Objective-C:所需的数据源方法有

- (NSInteger)numberOfPagesInViewPager:(SHViewPager *)viewPager;
- (UIViewController *)containerControllerForViewPager:(SHViewPager *)viewPager;
- (UIViewController *)viewPager:(SHViewPager *)viewPager controllerForPageAtIndex:(NSInteger)index;

- (NSString *)viewPager:(SHViewPager *)viewPager titleForPageMenuAtIndex:(NSInteger)index;

- (UIImage *)viewPager:(SHViewPager *)viewPager imageForPageMenuAtIndex:(NSInteger)index;

Swift:所需的数据源方法有

func numberOfPages(in viewPager: SHViewPager) -> Int
func containerController(for viewPager: SHViewPager) -> UIViewController
func viewPager(_ viewPager: SHViewPager, controllerForPageAt index: Int) -> UIViewController

func viewPager(_ viewPager: SHViewPager, titleForPageMenuAt index: Int) -> String

func viewPager(_ viewPager: SHViewPager, imageForPageMenuAt index: Int) -> UIImage

要显示内容,您需要在所需的方法块中调用实例方法 reloadData;通常在 viewDidLoad 中;以及在 viewWillLayoutSubviews 中的 pagerWillLayoutSubviews

示例

Objective-C

- (void)viewDidLoad {
    [super viewDidLoad];
    // your code
    [viewPager reloadData];
}

-(void)viewWillLayoutSubviews {
    [super viewWillLayoutSubviews];
    [_pager pagerWillLayoutSubviews];
}

Swift

override func viewDidLoad() {
    super.viewDidLoad()
    // your code
    pager.reloadData()
}

override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()
    pager.pagerWillLayoutSubviews()
}

已知问题

请参阅公开问题列表

作者

Ahmad Shabibul Hossain 创建,@shabib_hossain 在 5/15/14。

联系方式

分享反馈和建议以改进此项目,我很愿意听取。您也可以关注我,@shabib_hossain

许可证

SHViewPager 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。