RevealingTableViewCell 1.1.1

RevealingTableViewCell 1.1.1

测试测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2020年4月
SPM支持SPM

Nikolay Suvandzhiev维护。



  • Nikolay Suvandzhiev

RevealingTableViewCell

Travis CocoaPods Carthage compatible license MIT Swift 4.2


它是什么?查看安装使用文档

它是什么?

RevealingTableViewCell是一个UITableViewCell,可以通过滑动来显示主视图下方的隐藏内容。

  • 零代码配置:RevealingTableViewCell可以通过Interface Builder进行设置,无需更改代码。
  • “自带视图”——请注意,RevealingTableViewCell除了滑动视图外不提供任何其他功能(需要自己设置需要显示的视图,例如按钮等)。

查看

CocoaPods

pod try RevealingTableViewCell

(该命令将示例项目在临时文件夹中克隆并打开到Xcode中)

从仓库直接获取

克隆或下载此仓库,然后打开 Example/RevealingTableViewCellExample.xcodeproj

演示视频

Click to see an example

(在YouTube中打开)

安装

要求: iOS 10+

CocoaPods(推荐)

pod 'RevealingTableViewCell'

Carthage

github "sovata8/RevealingTableViewCell"

使用方法

无需代码更改,所有操作都在Interface Builder中进行。
请注意,此框架除了滑动视图之外不提供其他功能——设置需要展开的任何视图(例如按钮、附加信息等)取决于您。

以下截图显示了如何设置视图和IBOutlets

步骤 1

使用 RevealingTableViewCell(或其子类)作为 Interface Builder 中的自定义 tableview cell。

第二步

在 cell 默认的 contentView 中放置一个子视图,并将其连接到 IBOutlet uiView_mainContent。这将是一个滑动来展现下方内容的视图。使用 AutoLayout,应用以下约束将 uiView_mainContent 紧扣其父视图(contentView):

uiView_mainContent.centerX = superview.centerX uiView_mainContent.width = superview.width uiView_mainContent.height = superview.height uiView_mainContent.centerY = superview.centerY

(或者,替代 heightcenterY 约束,可以使用 topbottom 约束)

第三步

在 cell 默认的 contentView 中,放入并连接 uiView_revealedContent_left 和/或 uiView_revealedContent_right 子视图。使用 AutoLayout 将它们紧抠到 cell 的对应位置。固定它们的宽度。确保它们在 uiView_mainContent 的后面。

第四步

就是这样 - 运行你的应用吧!

根据需要使单元格关闭(可选)

通常,你会想要单元格在滚动 tableview 或当侧滑另一个 cell 时自动关闭。为了实现这一点,请使用提供的 tableview 扩展函数 closeAllCells(exceptThisOne:)。以下是一个示例(来自示例项目)

// Close all cells when the tableview starts scrolling vertically
extension ViewController: UIScrollViewDelegate
{
    func scrollViewDidScroll(_ scrollView: UIScrollView)
    {
        self.uiTableView.closeAllCells()
    }
}
// Close all other cells when a particular cell starts being swiped
extension ViewController: RevealingTableViewCellDelegate
{
    func didStartPanGesture(cell: RevealingTableViewCell)
    {
        self.uiTableView.closeAllCells(exceptThisOne: cell)
    }
}

(当然,当你使用 cellForRowAt indexPath 逻辑创建 cell 时,别忘了设置代理,如下所示:cell.revealingCellDelegate = self

文档

查看自动生成的 文档
(如果您在GitHub上阅读此内容,并且上述链接打开的是html源代码,请尝试这个链接)

Used by

PivotList Logo
PivotList

如果您在您的应用程序中使用RevealingTableViewCell并且希望在下面被提及,请通知我。(您可以通过电子邮件或创建一个新的问题,并标记“usedby”)

已知的限制和注意事项

这个库的工作方式要求所有的“隐藏”视图(在主视图后面,并且当滑动时被揭示的视图),始终在单元格的视图层次结构中,即使它们从未显示。当性能很重要时,这显然不是很好。

许可证

本项目遵守MIT许可证的条款。请参阅LICENSE文件。