美文网首页
Swift关于UITableView基本用法

Swift关于UITableView基本用法

作者: 农夫_三拳 | 来源:发表于2019-06-13 19:08 被阅读0次

最近在研究Swift的时候,发现Swift对oc的很多方法都有了比较大的改变,其中更是舍弃了很多oc本身所固有的,废话少说,直接上代码!

import UIKit

var kSize=UIScreen.main.bounds

var itemStringArr = ["刘备","关羽","张飞","曹操","忠诚","内奸","研发部"]

class ViewController: UIViewController,UITableViewDataSource , UITableViewDelegate {

override func viewDidLoad() {

super.viewDidLoad()

createTableView()

}

func createTableView() {

let tableView = UITableView.init(frame: CGRect(x: 0.0, y: 64, width: kSize.width, height: kSize.height-64), style:.plain)

tableView.delegate = self

tableView.dataSource = self

tableView.showsVerticalScrollIndicator = false

tableView.showsHorizontalScrollIndicator = false

self.view.addSubview(tableView)

}

// 设置段数

func numberOfSections(in tableView: UITableView) -> Int {

return 5

}

//  设置行数

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return itemStringArr.count

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let indentifier = "indetifier"

var cell = tableView.dequeueReusableCell(withIdentifier: indentifier)

if (cell == nil) {

cell = UITableViewCell(style: UITableViewCellStyle.value1,reuseIdentifier: indentifier)

}

cell?.textLabel?.text = itemStringArr[indexPath.row];

cell?.detailTextLabel?.text = "待添加内容"

cell?.detailTextLabel?.font = UIFont.systemFont(ofSize: CGFloat(13));

cell?.accessoryType = UITableViewCellAccessoryType.disclosureIndicator

return cell!

}

//  选中cell 时触发这个代理

public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

print(indexPath.row)

}

// 取消cell选中时  触发这个代理

public func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {

print("indexPath.row = DeselectRow第\(indexPath.row)行")

}

//允许编辑cell

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {

return true

}

// 右滑调用触发删除按钮

func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {

return UITableViewCellEditingStyle.init(rawValue: 1)!

}

//  点击删除cell 时触发

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

let alertController = UIAlertController(title: "标题", message: "确认是否删除", preferredStyle: UIAlertControllerStyle.alert)

alertController.addAction(UIAlertAction(title: "确认", style: UIAlertActionStyle.default, handler: nil))

self.present(alertController, animated: true, completion: nil)

print("indexPath.row = editingStyle第\(indexPath.row)行数)")

}

// 头部高度

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {

return 100;

}

// 底部高度方法

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {

return 100;

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

}


效果图展示

相关文章

网友评论

      本文标题:Swift关于UITableView基本用法

      本文链接:https://www.haomeiwen.com/subject/dldefctx.html