Swift_UI:(七)、UITableView

丘向荣
2023-12-01

import UIKit


class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {

    var dataArr:Array<String>?

    

    override func viewDidLoad() {

        super.viewDidLoad()

        dataArr = ["第一行","第二行","第三行","第四行","第五行"]

        let tableView = UITableView(frame:self.view.bounds, style: .plain)

        self.view.addSubview(tableView)

    tableView.register(NSClassFromString("UITableViewCell"), forCellReuseIdentifier: "cell")

        tableView.delegate = self;

        tableView.dataSource = self;

        

        // Do any additional setup after loading the view, typically from a nib.

    }

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

        return dataArr!.count

    }

    

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

        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

       

        cell.textLabel?.text = dataArr?[indexPath.row]

        return cell

    }

    

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

        return 4

    }

//    返回分区头部的文字

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

        return "分区头部"

    }

    

    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        let myViwe = UIView()

//        view上添加对应的视图就可以了

        return myViwe

    }

    

    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

        let myViwe = UIView()

        //        view上添加对应的视图就可以了

        return myViwe

    }

    

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

        return 100

    }

    

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

        return 200

    }

    

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

        return 200

    }

    

//    用户已经选择某一行调用的方法

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

        

    }

    

//    用户已经取消选择某一行调用的方法

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

        print(indexPath.row)

    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }



}


 类似资料: