VPAccordionAnimation 3.0.1

VPAccordionAnimation 3.0.1

Varun P M维护。



  • varunpm1

VPAccordionAnimation

这是一个自定义类,提供单元格展开和收起的动画。即,单元格的展开或收起会自动调整到视图的中心。展开的单元格可以包含视图数据或完整的视图控制器数据。

IMP

现在VPAccordionAnimation支持Swift 4.0。现在需要XCode 9或更高版本来构建。

需求

  1. iOS 9.0或更高版本。
  2. ARC内存管理。

使用

源代码

  1. 将VPAccordionAnimation文件夹添加到您的项目文件夹中(包含4个文件。仅当不需要自定义时才包含单元格nib文件。如果您有一个单元格,它是VPAccordionAnimationCell的子类,则此文件不需要。)

使用 Cocoapods

  1. 在 Podfile 中使用 pod 'VPAccordionAnimation' 添加库,然后使用 pod installpod update
  2. 在任何使用 VPAccordionAnimation 或其属性的地方添加 import VPAccordionAnimation

设置流程

  1. 将包含 tableView 的视图控制器的父类更改为 VPAccordionAnimationViewController。如果有 BaseVC,则将 VPAccordionAnimationViewController 的父类更改为 BaseVC
  2. isAccordionAnimationEnabled 属性设置为 true
  3. 调用函数 -

createAccordionDataForIndexPaths(withViewOrControllerData viewData: [AnyObject], forTableView tableView : UITableView)

或者

createAccordionDataForIndexPaths(indexPaths: [NSIndexPath], withViewOrControllerData viewData: [AnyObject], forTableView tableView : UITableView)

以在 viewDidLoad() 中填充视图或 viewController 数据。

  1. 将 tableView cell 的父类更改为 VPAccordionTableViewCell。
  2. 在 tableView cell 中添加一个容器视图,并将其输出连接到 VPAccordionTableViewCell 的 infoView 输出。
  3. 在 infoView 中添加所有必要的视图(作为 infoView 的子视图)。
  4. 为 infoView 添加约束 - Leading, Trailing, Top 和 Height - 不要添加底约束。
  5. 如果需要箭头视图动画,则将其连接到 VPAccordionTableViewCell 的 arrowView 输出。在子类中设置 arrowImageInitialDirection 和 arrowImageFinalDirection。
  6. 您可以使用其他可选变量来添加额外的功能,例如动画持续时间、箭头视图旋转方向等。

Screenshot Screenshot

VPAccordionAnimationOptions 属性

所有这些选项都位于 VPAccordionAnimationControlleraccordionDataSource 属性中,它是一个 VPAccordionAnimationOptions 结构的实例。

您可以使用以下属性定义关闭和打开动画的速度 -

var closeAnimationDuration : TimeInterval {get set} var openAnimationDuration : TimeInterval {get set}

您可以使用以下属性创建在加载时单元格的状态 - 您可以设置为全部展开或全部折叠。默认为全部折叠

var cellDefaultState : DefaultState {get set}

如果需要多次单元格展开,则将以下变量设置为true

var multipleCellExpansionEnabled : Bool {get set}

当一个单元格被展开时,如果需要启用tableView的滚动,则使用下面的属性。

var tableViewScrollEnabledWhenExpanded : Bool {get set}

您可以使用以下属性指定箭头视图的旋转方向(如果存在,顺时针或逆时针)

var arrowRotationDirection : ArrowRotation {get set}

AccordionAnimationTableViewCell子类化属性

如果存在箭头视图,您可以指定箭头的开始和结束方向以通过Accordion Animation协议处理动画

var arrowImageInitialDirection : ArrowDirection = .right var arrowImageFinalDirection : ArrowDirection = .down

捐款

类型 1

  1. 分支它!
  2. 创建您的功能分支: git checkout -b my-new-feature
  3. 提交您的更改: git commit -am 'Add some feature'
  4. 推送到分支: git push origin my-new-feature
  5. 提交拉取请求 :D

类型 2

  1. 创建问题
  2. 我会尝试添加必要的功能
  3. 您可以下载更新代码 :P

历史记录

版本 3.0.1

修复了由于 Pods 导致的 Bundle 问题

版本 3.0.0

现在VPAccordionAnimation也支持Pod了。同时,它也已经迁移到了Swift 4。

版本2.1.1

修复了在折叠单元时导致略微抖动的问题。

版本2.1.0

修复了使用UITablewViewAutomaticDimension的手机单元时布局问题。

版本2.0.0

此版本现在支持Swift 3.0。如果你使用的XCode版本小于8,请使用版本1.3.0发布版,因为这个版本构建和运行现在需要XCode 8。

版本1.3.0

删除了方便集成AccordionAnimation的公共代码,如果不需要自定义,将自动添加默认单元格。如果需要 (例如,在展开时指定不同的单元格高度,单元格内容等),请覆盖UITableViewDataSource或UITableViewCellDelegate方法(例如,指定展开的单元格内容)。默认高度为展开时占满整个视图的高度。

版本1.2.2

添加了对底部截图阴影的支持,如有需要,以及对代码的优化整理。

版本1.2.1

代码清理,并增加了根据需要禁用展开时单元格选择的支撑。

版本 1.2.0

根据需要,增加了视图或视图控制器视图的展开或折叠支持,并进行了代码清理。

版本 1.1.0

增加了多个单元格展开的支持,并在变量设置的情况下启用了滚动。

版本 1.0.0

添加了基本的折叠动画类,并处理了箭头视图动画。

许可证

MIT 许可证 (MIT)

版权所有(c)2016 Varun P M

以下任何人以及获得此软件及其相关文档文件(“软件”)副本的人,可以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的个人做上述处理,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或重大部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适用于特定目的的适销性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论此类责任是基于合同、侵权或其他方式产生的,并 arising from, out of or in connection with the software or the use or other handling of the software。