最近在研究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.
}
}
网友评论