EasyGrids 2.0.0

EasyGrids 2.0.0

EasyGrids 维护。



EasyGrids 2.0.0

  • 作者:
  • Shoaib Ahmed Qureshi

EasyGrids

这是一个自定义控件,用于轻松创建照片集合或网格。

用 Objective-C 编写,可以集成到任何 Swift 版本 2.0 及以上版本的项目中。

Platform Licence

需求

  • 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()
        
    }