8.1、UItableView

import UIKit

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
let ScreenWidth = UIScreen.main.bounds.width
let ScreenHeight = UIScreen.main.bounds.height
let imageArray = [["wd-zcfb", "wd-sy"], ["wd-zhye", "wd-zjbg"], ["wd-hd", "wd-wdxx","帮助中心"], ["wd-mdb", "wd-ddc", "wd-xfd", "wd-cbd", "wd-mcd"]]
let titleArray = [["我的资产", "我的收益"], ["账户余额", "资金变更"], ["我的活动", "我的消息","帮助中心"], ["债转", "袋袋存", "小福袋", "大福袋", "直投"]]
override func viewDidLoad() {
super.viewDidLoad()
self.createFirstTableView()
}
func createFirstTableView() {
let tableView = UITableView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: ScreenHeight), style: .plain)//.plain组头会默认悬停grouped组头跟着列表一起滚动
self.view.addSubview(tableView)
tableView.delegate = self
tableView.dataSource = self
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return imageArray[section].count
}
//行高
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 50
}
func numberOfSections(in tableView: UITableView) -> Int {
return imageArray.count
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 15
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: 10))
view.backgroundColor = UIColor(red: 0.97, green: 0.97, blue: 0.97, alpha: 1)
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: 0.01))
return view
}
// func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
// return 10
// }
// func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
// let headView = UIView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: 30))
// headView.backgroundColor = UIColor.lightGray
// let label = UILabel(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: 30))
// headView.addSubview(label)
// label.text = "热门店铺>>"
// label.textAlignment = .right
// return headView
// }
// func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
// if section == 0 {
// return "春天"
// }else if section == 1{
// return "夏天"
// }
// return "秋天"
// }
// func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
// print("将要显示头部调用的函数")
// }
//预估tableView的高度
// 当高度变成自适应后不代表你就需要在关注单元格的高度, Apple 的官方文档强调 estimatedRowHeight 设置得越精确越好. 因为系统需要利用 estimatedRowHeight 来计算滚动条的高度和位置等数据. 如果你提供的预估高度跟实际问题就可以导致一些滚动上的问题, 影响用户体验.
// func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
// return 150
// }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let identifier = "first"//cell的标注符
var cell = tableView.dequeueReusableCell(withIdentifier: identifier)//代码写的这样写,xib画的后面加indexpath
if cell == nil {
cell = UITableViewCell(style: .value1, reuseIdentifier: identifier)
}
//数据显示
cell?.textLabel?.numberOfLines = 0
// cell?.imageView?.image = UIImage(named: "(imageArray[indexPath.section][indexPath.row])")
cell?.textLabel?.text = "(titleArray[indexPath.section][indexPath.row])"
cell?.detailTextLabel?.text = "0.00"
//cell的基本属性
cell?.accessoryType = .disclosureIndicator
// cell?.selectionStyle = .none

// 图片处理
let size = CGSize(width: 30, height: 30)
let image = UIImage(named: "(imageArray[indexPath.section][indexPath.row])")
// 参数size为新创建的位图上下文的大小 opaque—透明开关,如果图形完全不用透明,设置为YES以优化位图的存储 scale—–缩放因子 这里需要判断一下UIGraphicsBeginImageContextWithOptions是否为NULL,因为它是iOS 4.0才加入的
UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
image?.draw(in: rect)
cell?.imageView?.image = UIGraphicsGetImageFromCurrentImageContext()//IGraphicsGetImageFromCurrentImageContext函数返回的图形大小。该函数的功能同UIGraphicsBeginImageContextWithOptions
return cell!
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//选中时手指离开的动画
tableView.deselectRow(at: indexPath, animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 从小就不是个会写作的人,记得小时候写日记完美的发挥了流水账的记事风格,基本就是我干了什么什么事,末尾来一句这就...
    千然阅读 165评论 0 1
  • (全文共1138字,您阅读大约需要2分钟) 娱乐圈,娱乐圈,不炒不作不叫娱乐圈。 8日,歌手张靓颖与男友少城时代C...
    元见阅读 333评论 1 2
  • 前天晚上看完了《我不是潘金莲》这部电影,讲述的是一个农村妇女李雪莲因为离婚的事打官司,最终变成为纠正一句话,告状十...
    思想主义者阅读 358评论 0 0