呈现 UITableView 最快速简便的方法 - 只需 3 行代码。
由泛型技术驱动,可呈现任何数据类型。
无需使用 UITableViewDelegate 和 UITableViewDataSource 协议。
Swift Table 是一个免费开源库,可移除创建完全自定义 TableView 所需的数百行代码。

var table = Table(data: ["Adam", "Juan", "Kate", "Siddharth", "Mary", "Zhao"])
let tableView = table.show()
view.addSubview(tableView)
这就是你所需要的一切!
let table = Table(reuseIdentifier: “id”,
data: [“Krishna”, “Thomas”, “Jaimie”, “Susan”],
frame: view.frame)
{indexPath, element, cell in
print(“Tapped on element: \(element)”)
cell.addCheckmark()
}
let tableView = table.show()
// Customization
table.setHeader(title: “Family!”)
table.setAccessory(style: .disclosureIndicator)
- 支持数据的单节和多节显示
- 可以为每个单元格显示副标题和图像标签
- 提供点击单元格时触发的自定义操作
- 超过 30 个公共方法可自定义 TableView 的大多数方面 - 标题、单元格高度、辅助视图、字体、颜色等等
- 包含对 Documentation Compiler (DocC) 的支持,可在您键入时显示代码文档和提示
- 支持 Swift Package Manager (SPM) 和 Cocoapods 依赖管理器。
- 减少您用于 TableView 的数百行代码
- 节省数十小时的开发时间
- 防止令人困惑的错误
- 如果您想显示单节 TableView,请将一个数组插入到 data 参数中或调用 .setData() 方法。如果您想显示多节 TableView,请将多维数组插入到 datasets 参数中或调用 .setDatasets() 方法。
- 要执行任何更改,请尝试使用 Table 类上的公共方法。 例如:
table.setCellHeight(54.0)
或 table.setTitleColor(color: .blue)
- 如果您的期望更改不在我们的公共方法中,请尝试使用
table.addStyle()
- 这允许您直接自定义 TableView 及其单元格、indexPath 和元素
- 要呈现您自己的自定义类或结构体,请遵循
TableData
协议。
- 打开 Example 文件夹以查看展示如何使用 Swift Table 的 Xcode 项目。
- 当前问题:如果 TableView 未显示,请确保 Table 变量是全局变量(在 viewDidLoad 或任何其他函数之外)- 作为参考,请参阅 Example 项目。
数据
- append(element: D)
- insert(element: D, at index: Int)
- insert(element: D, at index: Int, datasetIndex: Int)
- removeElement(at index: Int)
- removeElement(at index: Int, datasetIndex: Int)
- randomElement() -> D?
- setData(data: [D])
- setDatasets(datasets: [[D]])
- shuffleElements()
- removeAllElements()
外观
- setTitleFont(font: UIFont)
- setTitleColor(color: UIColor)
- setSubtitleFont(font: UIFont)
- setSubtitleColor(color: UIColor)
- setImageTint(color: UIColor)
- setImageFrame(frame: CGRect)
- setImageContentMode(contentMode: UIView.ContentMode)
- setHeader(title: String)
- setHeader(titles: [String])
- setHeaderView(view: UIView)
- setFooterView(view: UIView)
- setAccessory(style: UITableViewCell.AccessoryType)
- setAccessoryColor(color: UIColor)
- setCellHeight(height: Float)
- setSeparatorColor(color: UIColor)
- setSeparatorInset(edgeInsets: UIEdgeInsets)
- setKeyboardDismiss(mode: UIScrollView.KeyboardDismissMode)
- setAction(action: @escaping (IndexPath, D, UITableViewCell)
- setAccessoryAction(action: @escaping (IndexPath, D, UITableViewCell) -> Void)
- addStyle(style: @escaping (UITableView, IndexPath, D, UITableViewCell) -> Void)
- clearStyles()
访问 TableView
- show() -> UITableView
- hide()
- setFrame(frame: CGRect)
- showFrame() -> CGRect
Benyam Alemu Sood 和 Jigyasaa Alemu Sood,2022 年。
Swift Table 是一个根据 MIT 许可证 分发的免费开源库。 您可以在任何个人和商业库中免费使用源代码。
如果您愿意,您可以创建任何文章、教程或视频来描述此库的任何组件。
Swift Table 将始终免费使用且公开可用。
如果此项目对您有帮助,请考虑捐赠! 在此赞助我们 以支持 iOS 开发人员的新创新
我们正在积极开发中。 我们欢迎协作。
欢迎随时发送任何拉取请求或对我们代码库的建议更改。 提交您的想法和代码改进。