EasyGrids
这是一个自定义控件,用于轻松创建照片集合或网格。
用 Objective-C 编写,可以集成到任何 Swift 版本 2.0 及以上版本的项目中。
需求
- iOS 8.0+
- XCode 8.0+
- Swift 2.0+
截图
安装
Cocoa Pods
pod 'EasyGrids'
对于 Objective-C,因为它是用 Objective-C 编写的,所以可以直接集成,而 Swift 用户需要实现桥接头并写入 #import <EasyGrids/EasyGrids.h> 语句。
Swift 用户的一个快速示例是 https://github.com/shoaibahmedqureshi/EasyGridsExample
快速指南
只需手动或通过 Cocoapods 集成此控件,并按以下方式实现。
class ViewController: UIViewController , CustomGridViewDelegate {
var galleryView : CustomGridView!
override func viewDidLoad() {
super.viewDidLoad()
setUpCollection(yPosition:50)
// Do any additional setup after loading the view, typically from a nib.
}
func didSelectRow(at indexPath: IndexPath!, object gridObject: Any!) {
print("item clicked is \(gridObject)")
}
func setUpCollection(yPosition:CGFloat) {
let frame = CGRect.init(x: self.view.frame.origin.x, y: yPosition, width: self.view.frame.size.width, height: self.view.frame.size.height-100)
scroll direction could be '.vertical'or '.horizontal'
galleryView = CustomGridView.init(frame: frame , andScrollDirection: .vertical)
galleryView.backgroundColor = UIColor.clear
galleryView!.customGridViewDelegate = self
cell can load images from a url.
let item = ItemDetail.init()
item.itemId = "1"
item.imageUrl = "https://image.flaticon.com/sprites/new_packs/145841-avatar-set.png"
item.placeholder = "placeholder"
cell can use static images in project.
array.add(item1)
let item2 = ItemDetail.init()
item2.itemId = "3"
item2.imageName = "fish"
array.add(item2)
cellRation property will define distance between different cells
let cellRatio = (UIScreen.main.bounds.size.width-9)/3;
galleryView.arrayGridObjects = array
let cellSize = CGSize.init(width:cellRatio, height: cellRatio)
galleryView.cellSize = cellSize
galleryView.reloadGrid()
self.view.addSubview(galleryView)
galleryView.reloadGrid()
}