文档章节

swift 纯代码tableView

赵大财
 赵大财
发布于 2016/08/01 16:49
字数 226
阅读 27
收藏 0
点赞 0
评论 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
    }
}

 

© 著作权归作者所有

共有 人打赏支持
赵大财
粉丝 20
博文 161
码字总数 38672
作品 0
长沙
Swift教程17-淡化MVC,使用MVVM框架开发轻巧便于维护的iOS app

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

法斗斗 ⋅ 2015/09/25 ⋅ 0

swift中修饰词,fileprivate、private、internal、public 、open 及lazy的使用

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

媛美一生 ⋅ 2016/09/29 ⋅ 0

Xcode 7中Static Cells自动计算高度失效的解决方法

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

昊翔 ⋅ 2015/10/09 ⋅ 0

如何收起和展开UITableView Sections

这是一个简单的iOS swift项目,旨在介绍如何实现可收起和展开的table section,并且,项目不需要main storyboard, XIB, 注册nib等,只需要纯的Swfit代码! 项目源代码:https://github.com/...

jeantimex ⋅ 2016/10/03 ⋅ 0

Swift2编程之道:POP+MVVM

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

cg1991130 ⋅ 2016/03/01 ⋅ 0

关于 Swift 使用UITableView

独自看着文档,试探性的用Swift写UITableView,遇到个不是很理解的问题。 class RootViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{ } 根据以往Obj-C的理解...

metRooooo ⋅ 2014/06/09 ⋅ 0

iOS常用的三方库

UI相关:(转载http://www.jianshu.com/p/be0401e35e06) 上拉下拉刷新控件: 链接:MJRefresh 动态启动图: 链接:YFStartView MBProgressHUD: 链接:MBProgressHUD 一个效果很好的弹出下拉框:...

oschina6k ⋅ 2016/05/11 ⋅ 1

iOS11适配iPhoneX总结

iPhoneX适配 觉得不错请点击下方【喜欢】,为了微博认证也是无赖!还差1660个🤣 屏幕尺寸相关变化 高度增加了145pt,变成812pt. 状态栏高度由20pt变成44pt,留意这个距离就能避开“刘海”的...

LvesLi ⋅ 2017/09/21 ⋅ 0

如何用 Parse 和 Swift 搭建一个像 Instagram 那样的应用?(3)

【编者按】本篇文章作者是 Reinder de Vries,既是一名企业家,也是优秀的程序员,发表多篇应用程序的博客。本篇文章中,作者主要介绍了如何基于 Parse 特点,打造一款类似 Instagram 的应用...

OneAPM蓝海讯通 ⋅ 2015/07/31 ⋅ 0

混编Objective-C 和 Swift

本次已经有了一个Objective-C项目 1.创建 Demo-Bridging-Header.h,此页面声明的文件的所有的文件都可以用 Use this file to import your target's public headers that you would like to ...

iShown ⋅ 2016/01/21 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

面试-JVM 内存结构

JVM 内存结构

秋日芒草 ⋅ 1分钟前 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 24分钟前 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 56分钟前 ⋅ 0

Spring JavaConfig 注解

JavaConfig注解允许开发者将Bean的定义和配置放在Java类中。它是除使用XML文件定义和配置Bean外的另一种方案。 配置: 如一个Bean如果在XML文件可以这样配置: <bean id="helloBean" class="...

霍淇滨 ⋅ 今天 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 今天 ⋅ 0

Confluence 6 重新获得站点备份文件

Confluence 将会创建备份,同时压缩 XML 文件后存储熬你的 <home-directory>/backups> 目录中。你需要自己访问你安装的 Confluence 服务器,并且从服务器上获得这个文件。 运行从 Confluence...

honeymose ⋅ 今天 ⋅ 0

informix的常用SQL语句

1、创建数据库 eg1. 创建不记录日志的库testdb,参考语句如下: CREATE DATABASE testdb; eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解...

wangxuwei ⋅ 今天 ⋅ 0

matplotlib画图

最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数。 from pylab import *from numpy import *x = linspace(0, 5, 10)y = x ** 2figure()plot(x, y, 'r')...

Dr_hu ⋅ 今天 ⋅ 0

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 今天 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

小致dad ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部