DMPagerViewController 0.1.0

DMPagerViewController 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年1月

Daniele Margutti 维护。



DMPagerViewController 是一个 UIViewController 子类,它模拟了 iOS 中 Twitter 和 Tinder 客户端使用的导航系统。它还添加了一些特殊效果,如滚动时图标着色色度渐变和滚动时的页面视差效果。它还提供了一些配置选项,您可以在 .h 文件中轻松查看。因为一张图片胜过千言万语,这是一个展示该类的短 gif。

简介

要运行示例项目,请克隆仓库,并在项目中运行 pod install

然后您可以创建一个新的 DMPagerViewController,它包含以下子视图控制器

UIViewController * vc1 = ...;
UIViewController * vc2 = ...;
UIViewController * vc3 = ...;
self.pagerController = [[DMPagerViewController alloc] initWithViewControllers: @[vc1,vc2,vc3]];

您的子视图控制器必须符合 DMPagerViewControllerProtocol 协议,以便向导航栏返回适当的条目(仅在 .useNavigationBar 设置为 YES 时使用)。

因此,每个视图控制器都必须实现

- (DMPagerNavigationBarItem *)pagerItem {
     DMPagerNavigationBarItem *item;
     UIImage *itemIcon = ...;
     NSAttributedString *itemTitle = ...;
     item = [DMPagerNavigationBarItem newItemWithText:itemTitle andIcon: itemIcon];
    item.renderingMode = DMPagerNavigationBarItemModeOnlyText;
    return item;
}

使用 .renderingMode,您可以决定为指定的项显示什么(图标、图标和文本或仅文本)。

在编写程序间移动时,您可以选择三种不同的过渡动画来使用 -setPageIndex:animated:

typedef NS_ENUM(NSInteger, DMPagerViewControllerAnimation) {
    // Standard UIScrollView animation
    DMPagerViewControllerAnimationStandard,
    // Ease In+Out animation on scroll
    DMPagerViewControllerAnimationEaseInOut,
    // Animation with final bounce
    DMPagerViewControllerAnimationBounceEnd,
    // Animation with initial+final bounce
    DMPagerViewControllerAnimationBounceStartEnd
};

导航栏也可以自定义(它是一个 UIView):您可以选择您希望用于导航栏项的过渡效果(从颜色角度):请参阅 .colorizeModeDMPagerNavigationBarItemColorize)。您还可以通过 .style 属性(DMPagerNavigationBarStyle)决定导航栏本身的布局。

您可以从导航堆栈中将其推进去,也可以将其放入根窗口中。您还可以通过 .navigationBar 属性访问导航栏配置。

要求

它与 iOS 8 一起运行良好。应该可以在 iOS 7 中工作,但我还没有测试。

安装

作者

Daniele Margutti 邮箱:[email protected] 网站:danielemargutti.com

许可证

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