RevealingTableViewCell
它是什么?
RevealingTableViewCell
是一个UITableViewCell
,可以通过滑动来显示主视图下方的隐藏内容。
- 零代码配置:
RevealingTableViewCell
可以通过Interface Builder进行设置,无需更改代码。 - “自带视图”——请注意,
RevealingTableViewCell
除了滑动视图外不提供任何其他功能(需要自己设置需要显示的视图,例如按钮等)。
查看
CocoaPods
pod try RevealingTableViewCell
(该命令将示例项目在临时文件夹中克隆并打开到Xcode中)
从仓库直接获取
克隆或下载此仓库,然后打开 Example/RevealingTableViewCellExample.xcodeproj
。
演示视频
(在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
(或者,替代 height
和 centerY
约束,可以使用 top
和 bottom
约束)
第三步
在 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
如果您在您的应用程序中使用RevealingTableViewCell
并且希望在下面被提及,请通知我。(您可以通过电子邮件或创建一个新的问题,并标记“usedby”)
已知的限制和注意事项
这个库的工作方式要求所有的“隐藏”视图(在主视图后面,并且当滑动时被揭示的视图),始终在单元格的视图层次结构中,即使它们从未显示。当性能很重要时,这显然不是很好。
许可证
本项目遵守MIT许可证的条款。请参阅LICENSE文件。