DNSSwipeableTableCell 1.2.1

DNSSwipeableTableCell 1.2.1

测试已测试
Lang语言 Obj-CObjective C
许可协议 MIT
发布最后发布2015年5月

Ellen Shapiro 维护。




  • Ellen Shapiro

DNSSwipeableTableCell demo

这是我为 RayWenderlich.com 写的一个教程的扩展,该教程讲述了如何在 iOS 7 中创建可滑动的 UITableViewCell,而不需要使用 UIScrollViews 让自己彻底崩溃。(用约束代替让崩溃发生!)

问题的关键在于,添加删除按钮非常简单,但是添加一个删除按钮和另一个按钮就变得相当困难,因为细胞的结构方式。

我已经重构了教程中包含的代码,这更多的是作为一个练习,帮助新手深入了解 Apple 的代码是如何内部工作的,并将其收集到这个库中,我希望这个库将有助于任何在实际代码中处理此问题的开发人员。

最大的变更

  • 移除了对 Storyboard 的依赖(尽管如果你喜欢仍然可以使用)
  • 使 myContentView 公共,以便更容易子类化和回收细胞。
  • 增强代理以处理任意数量的按钮
  • 添加数据源以允许大量用户可配置的选项
  • 调整动画以使用阻尼而不是手动尝试
  • 在可滑动单元格类中添加了大量文档
  • 大量清理了示例应用程序
  • 添加了一个示例子类。
  • 添加了大量我猫的照片,因为互联网喜欢猫。

使用说明

  • 如果您通过 accessoryType 使用辅助视图,则当单元格打开和关闭时(分别为)将自动移除并替换该视图。
  • 如果您使用自定义背景颜色为您的 myContentView 以及辅助,请记住将相同的颜色设置为单元格本身的背景颜色,否则辅助将具有不同的背景颜色。
  • 如果您使用从 Storyboard 或 .xib 的单元格,您必须添加一个 myContentView 视图,并将 NSLayoutConstraint 插口连接到左侧和右侧约束。有关如何设置此内容的示例,请参阅示例项目。
  • 如果您使用从 Storyboard 或 .xib 的单元格,确保在设置期间发送对超类的任何调用,需要通过 awakeFromNib 而不是通过 initWithCoder: 使 myContentView 不是 nil,因为 IBOutlet 将在 awakeFromNib 已触发之前连接。

//待处理事项

  • 支持双向滑动(问题
  • 支持iOS 8风格的单元格动作(问题
  • ??? - 提交一个问题!

其他贡献者

  • Mark Flowers - 优化表格视图滑动、移除索引路径的hack、众多原来必需方法的默认值,以及更好的代理方法。

照片

所有照片版权属于Ellen Shapiro。如果您想看到我那呆萌的猫Chaplin的更多照片,请在Instagram上关注我。