swift纯代码实现UITableview总结一
在swift中没有了宏定义这个概念,所以在获取屏幕宽高时,可以设置其为常量
let SRC_WIDTH = UIScreen.main.bounds.width
let SRC_HEIGHT = UIScreen.main.bounds.height
swfit创建UITableView和OC中差不多,主要是语法发生了改变的,还有一点就是拆解包问题,不过一般编译器会给出提示
你要实现UiTableView,肯定就少不了要实现它的相关代理方法,在swift中不需要尖括号,只需要在继承的类后面用逗号隔开就可以来,如下所示:
class TableViewController:UIViewController,UITableViewDataSource,UITableViewDelegate{},这是系统会报错,不用管,因为你还没有实现它的代理和协议的;
声明UITableView
var tableView: UITableView!
在初始化UITableView,如下:
/*** 创建UITableView*/func tableViewTest() -> UITableView{if tableView == nil {tableView = UITableView(frame: CGRect(x: 0, y: 0, width: SRC_WIDTH, height: SRC_HEIGHT), style: .plain)tableView?.delegate = selftableView?.dataSource = selftableView?.showsHorizontalScrollIndicator = falsetableView?.showsVerticalScrollIndicator = falsetableView?.bounces = falsetableView?.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))//去除多余的下划线}return tableView!}
UITableView已经创建好了,接下来的就是要实现它的数据源方法的:
分别是:
//返回cell的显示的数据
func tableView(tableView:UITableView, cellForRowAtIndexPath indexPath:NSIndexPath) ->UITableViewCell{}
//返回当前的Section中row行数
func tableView(tableView:UITableView, numberOfRowsInSection section:Int) -> Int{}
//返回当前几个Section
func numberOfSectionsInTableView(tableView:UITableView) ->Int { }
//选中时方法
func tableView(tableView:UITableView, didSelectRowAtIndexPath indexPath:NSIndexPath){}
显示数据源方法如下:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {var cell = tableView.dequeueReusableCell(withIdentifier: "CELL")if cell == nil {cell = UITableViewCell(style: .default, reuseIdentifier: "CELL")}
// cell!.selectionStyle = .nonecell!.textLabel?.text = items[indexPath.row]return cell!}
效果图如下所示
swift纯代码实现UITableview总结一相关推荐
- swift纯代码UITabBarController的使用
最近在OC的基础上开始学习swift,以下是swift纯代码搭建项目架构效果图 创建一个项目 选择swift语言 将项目中的main.storyboard ,ViewController ,Launc ...
- iOS(一):Swift纯代码模式iOS开发入门教程
Swift纯代码模式iOS开发入门教程 项目初始化(修改为纯代码项目) 安装第三方库(以`SnapKit`库为例) 桥接OC库(QMUIKit) 封装视图并进行导航跳转 示例:使用 `TangramK ...
- ios swift 纯代码自定义view(控件) XYswitchView
文章目录 1.截图 2.代码 2.1 XYswitchView.swift 2.2 LoginVC.swift 3.参考博客 1.截图 2.代码 2.1 XYswitchView.swift impo ...
- ios swift 纯代码设置UITableViewCell的style
1.dequeueReusableCell(withIdentifier:)方法不需要注册 func tableView(_ tableView: UITableView, cellForRowAt ...
- Swift5.x的UITableView纯代码演练
Swift5.x的UITableView纯代码演练 // // ViewController.swift // 1-UITableView演练 // Created by 鲁军 on 2021/3/1 ...
- [纯代码] Swift+UIKit · 搭建第一个iOS APP项目
本文目录 前言 创建一个纯代码编辑的Swift + UIKit项目 创建一个Swift + UIKit项目 让它变成纯代码编辑的 让你的APP打开指定的ViewController 创建一个窗口 编辑 ...
- 【Swift Mac开发】纯代码创建NSViewController
对于习惯了纯代码iOS开发的人来说,刚接触Mac端开发时,是非常不友好的,网上所有的教程都是通过Xib或StoryBoard的方式创建NSViewController,而且苹果文档也是鼓励用Xib的开 ...
- [译] 重写 loadView() 方法使 Swift 视图代码更加简洁
原文地址:Writing Cleaner View Code in Swift By Overriding loadView() 原文作者:Bruno Rocha 译文出自:掘金翻译计划 本文永久链接 ...
- 史上比较用心的纯代码实现 AutoLayout
入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...
最新文章
- java http url 编码_Java中的HTTP URL地址编码
- 主库创建存储过程时从库显示 Error 1049
- 质数的后代c语言,(信息学奥赛辅导)程序设计试题汇编(答案10)
- Tex, LaTex概念及实例
- python 字符串分割
- 微软将VB和C#合二为一 年底推出全新平台VS2010
- Ansible之管理windows主机
- 蓝桥杯—手机尾号评分—Java
- 不用工具,如何快速计算文件的MD5?
- 2023上海面料展览会
- F5 HSL高速日志配置(GTMLTM)
- (一)软件测试专题——之Linux常用命令篇01
- 如何理解C语言的声明
- Drools规则引擎-memberOf操作
- APP图标制作-PS如何倒70圆角
- 乐鑫科技2022笔试面试题
- maven打包配置详解
- [offer已拿]字节跳动游戏研发面经
- mysql 异地双活_饿了么异地双活数据库实战
- html加入window播放器,使用 HTML 和 Windows Media Player
热门文章
- 网易云信课题实践-内网穿透的实现
- 3D点云|云上的卷积神经网络及其部分应用
- 计算机系统的详细结构树,图解:计算机数据结构中的 6 种「树」,你心中有数了吗?...
- 计算机屏幕灯,玩电脑必须要有的神器——屏幕挂灯
- win7台式电脑开始菜单没有休眠选项
- 打破惯性思维的限制——职场人士寓言(9)
- 六、Redis新类型bitmap-hyperloglgo-GEO
- 车载技术—CarFramework框架【AOSP 源码编译】
- 高并发解决方案(缓存、降级、限流)之限流笔记
- 网易相册辅助工具netease album v0.1 是什么