iOS视图封装 - SSGridView

SSGridView

遵循GridViewProtocol两种栅格视图实现方式DJGridView和SSGridView

image
image

image
image

功能

  1. 使用Generator实现(DJGridView)
  2. 使用UICollectionView实现(SSGridView)
  3. 可以自定义Seperator Line(Color/width/visible)
  4. 可以自定义间距gapX和gapY

用法

1.实现的接口

protocol GridViewProtocol: NSObjectProtocol {
    
    // Meta
    var views: [UIView] { set get }
    
    var numOfColsPerRow: Int { set get }
    
    var preferRowHeight: CGFloat { set get }
    
    // Seperator Line
    var seperatorLineColor: UIColor { set get }
    
    var seperatorLineWidth: CGFloat { set get }
    
    var seperatorLineVisiable: Bool { set get }
    
    // Gap
    var gapX: CGFloat { set get }
    
    var gapY: CGFloat { set get }
}

2.创建

        var views = [UIView]()
        for _ in 0...8 {
            let view = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
            view.backgroundColor = UIColor.red
            views.append(view)
        }

        let djGridView = DJGridView(frame: self.view.bounds)
        
        djGridView.numOfColsPerRow = 3
        djGridView.gapX = 10
        djGridView.gapY = 10
        djGridView.seperatorLineWidth = 1
        djGridView.seperatorLineVisiable = true
        
        djGridView.views = views
//        self.view.addSubview(djGridView)
        
        let ssGridView = SSGridView(frame: self.view.bounds)
        ssGridView.numOfColsPerRow = 3
//        ssGridView.gapX = 10
//        ssGridView.gapY = 20
        ssGridView.seperatorLineVisiable = true
        
        ssGridView.views = views
        self.view.addSubview(ssGridView)

3.配置(可选)

DJTagListView的默认配置

    //MARK: - Public Var
    
    //MARK: Meta
    public var numOfColsPerRow: Int = 2
    
    public var preferRowHeight: CGFloat = 50.0
    
    public var views: [UIView] = [] 
    
    //MARK: Seperator Line
    public var seperatorLineColor: UIColor = UIColor.gray
    
    public var seperatorLineWidth: CGFloat = 0.5
    
    public var seperatorLineVisiable: Bool = false
    
    //MARK: Gap
    public var gapX: CGFloat = 0.0
    
    public var gapY: CGFloat = 0.0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 老师打电话家长说,你孩子这个学期语文作业都完成不好,家长很着急的跟我说,由于我是补课班的老师。我说:“是的,请你...
    慧慧托教林老师阅读 2,761评论 1 2
  • “顺其自然,为所当为”这句话是森田治疗法的核心理念。要理解这句话的关键就是先要懂得什么是“自然”。 一提到自然,你...
    小英成长手札阅读 5,728评论 3 5
  • 图片发自简书App 好书如好色 红蔚 我曾有三大嗜好。一是好吃,二是好色,三是好书。然而,现在,我已经开始...
    红蔚阅读 4,392评论 1 4
  • 时间在过去,悄悄地替换着昨天和明天。它给人们留下了露水,雾,蓓蕾的绽开,或者凋谢。然而,它终究要留给人们一些什么,...
    永远的浩子阅读 1,657评论 0 0

友情链接更多精彩内容