文档章节

swift 纯代码tableView

赵大财
 赵大财
发布于 2016/08/01 16:49
字数 226
阅读 30
收藏 0

cell 

class DCTableViewCell: UITableViewCell {
    
    lazy var dcLabel: UILabel = {
        let dcLabel = UILabel()
        dcLabel.text = "百度"
        dcLabel.backgroundColor = UIColor.greenColor()
        dcLabel.textAlignment = NSTextAlignment.Center
        return dcLabel
    }()
    
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        
        
        addSubview(dcLabel);
        dcLabel.frame = CGRectMake(0, 0, 100, 80)
        dcLabel.text = "赵大财博客";
        
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
}

VC

import UIKit

class ViewController: UIViewController {
    
    lazy var tableView : UITableView = {
        return UITableView()
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        setupUI()
    }
}

// MARK:- 设置UI界面相关
extension ViewController {
    /// 设置UI界面
    func setupUI() {
        // 0.将tableView添加到控制器的View中
        view.addSubview(tableView)
        
        // 1.设置tableView的frame
        tableView.frame = view.bounds
        
        // 2.设置数据源
        tableView.dataSource = self
        
        // 3.设置代理
        tableView.delegate = self
        
        //注册CELL
        tableView.registerClass(DCTableViewCell.self, forCellReuseIdentifier:"celli")
        
        
    }
}


// MARK:- tableView的数据源和代理方法
// extension类似OC的category,也是只能扩充方法,不能扩充属性
extension ViewController : UITableViewDataSource, UITableViewDelegate{
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 20
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("celli");
        
        
        return cell!
        
    }
    
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        print("点击了:\(indexPath.row)")
    }
    
    
    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 80
    }
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: swift 异步组执行
下一篇: php7 新特性
赵大财
粉丝 22
博文 162
码字总数 38743
作品 0
长沙
私信 提问
Swift教程17-淡化MVC,使用MVVM框架开发轻巧便于维护的iOS app

Swift教程17-淡化MVC,使用MVVM框架开发轻巧便于维护的iOS/android app MVVM是微软提出一种移动开发框架,旨在针对传统的MVC框架,解决传统的MVC框架的控制器的臃肿问题. M: Model模型,也就是数...

法斗斗
2015/09/25
625
0
swift中修饰词,fileprivate、private、internal、public 、open 及lazy的使用

在swift开发语言中,访问修饰符就fileprivate、private、internal、public 、open这五种。其中fileprivate和open是swift3中添加的;由于之前的swift对于访问控制是基于文件的,在swift3中就出...

媛美一生
2016/09/29
35
0
Xcode 7中Static Cells自动计算高度失效的解决方法

在iOS 8及以后的版本,我们可以这样设置tableView,让它自动计算高度 但升级到Xcode 7之后发现这个方法对设置为Static Cells的table view就不管用了(这里探讨了原因)。我们可以通过实现UIT...

昊翔
2015/10/09
101
0
iOS Swift4项目EFarm学习和总结

Swift项目 先上一个码云地址码云地址 项目的简单介绍 项目编写过程和一些知识点 这个项目从Xcode的singleView模板创建而来, 经过文件整理归类和修改创建了一个标准易于维护的最终模板, 你可以...

iShown
2017/09/22
0
0
Swift2编程之道:POP+MVVM

Swift2.0中引入了协议扩展的特性,并且建议开发者一切从协议(Protocol)出发,经过几个月的学习探索,博主发现Swift作为一门面向协议编程(POP)的语言非常适合时下火热的MVVM架构。MVVM已经...

cg1991130
2016/03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Integer使用双等号比较会发生什么

话不多说,根据以下程序运行,打印的结果为什么不同? Integer a = 100;Integer b = 100;System.out.println(a == b);//print : trueInteger a = 200;Integer b = 200;System.out.pr...

兜兜毛毛
昨天
5
0
CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
昨天
2
0
I2C EEPROM驱动实例分析

上篇分析了Linux Kernel中的I2C驱动框架,本篇举一个具体的I2C设备驱动(eeprom)来对I2C设备驱动有个实际的认识。 s3c24xx系列集成了一个基于I2C的eeprom设备at24cxx系列。at24cxx系列芯片包...

yepanl
昨天
3
0
设计模式之工厂模式

本篇博文主要翻译这篇文章: https://www.journaldev.com/1392/factory-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文。...

firepation
昨天
11
0

中国龙-扬科
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部