RNRippleTableView 0.1.6

RNRippleTableView 0.1.6

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

未填写 维护。



  • Ryan Nystrom

这是一个具有高度详细涟漪动画的自定义表格视图。

细节级别

我出于纯粹的好奇心根据 Dribbble 上的帖子 编写了这个控件,posts,出自 Dribbble 用户 Boris Valusek。我真的想做到阴影动画以及随振幅减少而递减的回跳效果。请查看一些屏幕截图和动画。

要启用 抗锯齿,您需要在您的 Info.plist 中将 UIViewEdgeAntialiasing 键设置为 YES。这样做会影响性能,但如果您是一位优化者,最终的性能会很好,并且会有如下的漂亮线条边缘

安装

首选安装方法是使用 CocoaPods。只需将其添加到您的 Podfile 中

pod 'RNRippleTableView', '~> 0.1.6'

或者,如果您想手动安装,将 RNRippleTableView 的 .h 和 .m 文件拖放到您的项目中。您需要确保已包含 QuartzCore 框架。

可选地,您还需要将以下代码添加到使用 RNRippleTableView 的任何视图控制器中,以便在摇晃手势上有涟漪动画。

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self.rippleView becomeFirstResponder];
}

使用

要使用 RNRippleTableView,只需将其添加到您的控制器中,并像其他任何视图一样进行布局。以一种类似 UITableView 的方式连接数据源和委托。您还必须注册将用作表格单元的类。这个类应该是类或 UIView 的子类。

self.rippleView = [[RNRippleTableView alloc] init];
[self.rippleView registerContentViewClass:[RNSampleCell class]];
self.rippleView.delegate = self;
self.rippleView.dataSource = self;

像您使用 UITableView 一样设置单元格,不过没有标识符和检查 nil 的部分,这些由您处理。

- (UIView *)viewForTableView:(RNRippleTableView *)tableView atIndex:(NSInteger)index withReuseView:(RNSampleCell *)reuseView {
    reuseView.backgroundColor = [UIColor colorWithRed:117/255.f green:184/255.f blue:174/255.f alpha:1];
    reuseView.titleLabel.text = [NSString stringWithFormat:@"Cell %i",index];
    reuseView.titleLabel.textColor = [UIColor whiteColor];
    return reuseView;
}

自定义

RNRippleTableView 附带了一些用于自定义外观和动画的选项。

@property (nonatomic, assign) BOOL rippleEnabled; // default YES

开关涟漪动画的打开和关闭。

@property (nonatomic, assign) BOOL isAnchoredLeft; // default YES

确定单元格的锚点。它还确定视图的哪一侧会进行动画以及绘制阴影的方向。

@property (nonatomic, assign) NSInteger rippleOffset; // default 3

涟漪的相邻单元格数量。

@property (nonatomic, assign) CGFloat rippleAmplitude; // default 20 (degrees)

在角度中旋转到震源动画面板的角度。

@property (nonatomic, assign) CGFloat rippleDuration; // default 0.75 seconds

单个弹跳动画完成所需的时间(秒)。

@property (nonatomic, assign) CGFloat rippleDelay; // default 0.1f

弹跳动画之间的定时延迟(秒),给整个涟漪动画带来延迟效果。快的看起来更像是爆发,而慢的看起来更像是水。

@property (nonatomic, assign) BOOL rippleHasParentShading; // default YES

确定前一个视图是否在动画视图上投下阴影。

@property (nonatomic, assign) BOOL rippleHasShading; // default YES

确定整个视图在弹跳时是否被阴影覆盖。

@property (nonatomic, assign) BOOL ripplesOnShake; // default NO

您可以选择在摇晃手势中使用设备来动画化小涟漪。这是因为我觉得很有趣,所以加入的功能。

鸣谢

我创建了一个名为 RNTableView 的父项目,仅仅作为一个最低限度的项目,用于启动高度定制的类似 UITableView 类。这个项目完全受到 Mike Ash 的 Let's Build UITableView 博客文章的启发。

Boris Valusek 是这个想法背后的创作者,他在 Dribbble 上面提出了这个想法。原创性的全部荣誉应归功于他。

应用程序

如果您已经在实际应用程序中使用了此项目,请通知我!看到别人拿我的作品发挥创意,让我感到无比高兴。

联系

许可证

查看 LICENSE