网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

之前写自己项目内部的应用调试工具箱:JXCaptain的时候。需要一个显示数据库的视图,需要有行列表头固定,并且表单内容可以上下左右滑动查看的特性,就像Excel视图一样。整个功能就只有一个ExcelView类,逻辑清晰简单,便于阅读和修改定制需求。

预览

特点

  • 使用纯Swift编写;

  • 功能简洁,便于源码阅读;

  • 代码逻辑清晰,便于根据自己需求修改代码;


初始化ExcelView


excel = ExcelView(frame: CGRect.zero)
excel.dataSource = self
excel.delegate = self
view.addSubview(excel)


实现ExcelViewDataSource代理方法


    func numberOfRows(in excelView: ExcelView) -> Int {
        return 50
    }

    func numberOfColumns(in excelView: ExcelView) -> Int {
        return 10
    }

    func excelView(_ excelView: ExcelView, columnNameAt column: Int) -> String {
        return "col:\(column)"
    }

    func excelView(_ excelView: ExcelView, rowDataAt row: Int) -> [String] {
        return dataSource[row]
    }

    func excelView(_ excelView: ExcelView, rowHeightAt row: Int) -> CGFloat {
        return 40
    }

    func excelView(_ excelView: ExcelView, columnWidthAt column: Int) -> CGFloat {
        return 120
    }

    func widthOfLeftHeader(in excelView: ExcelView) -> CGFloat {
        return 50
    }

    func heightOfTopHeader(in excelView: ExcelView) -> CGFloat {
        return 40
    }


实现ExcelViewDelegate代理方法


    func excelView(_ excelView: ExcelView, didTapGridWith content: String) {
        print("didTapGridWith:\(content)")
    }

    func excelView(_ excelView: ExcelView, didTapColumnHeaderWith name: String) {
        print("didTapColumnHeaderWith:\(name)")
    }

项目代码下载:http://code.662p.com/view/19125.html

 

评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部