ALGridView 0.0.4

ALGridView 0.0.4

测试已测试
语言语言 SwiftSwift
许可 MIT
发布日期最后发布2016年9月
SPM支持SPM

Alex Leite维护。



  • 作者:
  • Alex Leite

ALGridView

关于

此自定义控件是一个简单而实用的Swift网格视图实现。它允许您通过代码方式创建网格视图,一行一行地进行。除了允许您按行和列来细分此自定义视图外,它还允许您轻松地自定义单元格的边距和填充。

查看以下代码了解其工作原理。

示例代码

//-- Full initializer (passing margins, padding)

let frame = CGRect(x: 10.0, y: 10.0, width: 200.0, height: 200.0)
let margins = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)

let gridView = GridView(frame: frame, columns: 3, rows: 3, margins: margins, padding: 10) {
    column, row, contentView in

    let view = UIView(frame: contentView.bounds)
    view.backgroundColor = UIColor.blueColor()
    contentView.addView(view)
}

someView.addSubview(gridView)

//-- Simplified initializer (frame, columns, rows and constructor closure)

let gridView = GridView(frame: frame, columns: 3, rows: 3) {
    column, row, contentView in

    //.. constructor code   
}

便利方法

如果您决定不使用构造函数来构建您的网格视图,您可以通过调用viewAt(column:row:)便利方法非常容易地访问任何单元格。以下是使用方法:

if let targetView = gridView.viewAt(column:2, row: 1) {

    //-- 'targetView' is the content view of the specified cell's (column 2, row 1)
}

局限性

此类旨在用于通过代码创建界面时的非常简单的网格。它非常适合使用按钮网格等场景,这些按钮将有相同的大小和间距,并且将保持相同的大小。考虑到这一点,请理解,目前,此控件有一些局限性,包括

  • 不具有动态调整大小的功能
  • 未考虑到AutoLayout进行测试或开发
  • 不允许合并单元格和行
  • 所有单元格都将具有相同的尺寸

也许未来的某些功能将会实现。目前,我需要一个快速的方法来在网格中布局内容,而这正是这个方法做得如此出色的原因!我鼓励您查看此项目中包含的示例代码,并稍微玩一玩这个控件来了解其适合的场景和潜在的不足。

如何使用

要使用此控件,您可以复制GridView.swift类到您的项目中,或者使用CocoaPods 0.36及以上版本将以下pod添加到项目中:

pod 'ALGridView'

许可

此组件可在MIT许可下使用。