Swift 4.0 纯代码实现UITableView

class ViewControllerI: 
UIViewController,UITableViewDelegate,UITableViewDataSource {

    var mytableView : UITableView?

    let testValue:NSString = "这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容\n这是测试内容"

    override func viewDidLoad() {
        super.viewDidLoad()

        view.backgroundColor = UIColor.gray

        mytableView = UITableView(frame: CGRect(x: 0, y: 64, width: view.frame.width, height: view.frame.height) , style: .plain)
        mytableView?.tableFooterView = UIView()
        mytableView?.delegate = self             // 设置代理
        mytableView?.dataSource = self
        mytableView?.estimatedRowHeight = 60
        mytableView?.rowHeight = UITableViewAutomaticDimension
        view .addSubview(mytableView!)

        //注册UITableView,cellID为重复使用cell的Identifier
        mytableView?.register(UITableViewCell.self, forCellReuseIdentifier: "cellID")

    }

    /*
     @注意:我们前边的ViewController继承了UITableViewDataSource
     @和 UITableViewCelegate。如果我们不注册下面的三个方法XCode就会报错!!!
     */

     // 列数
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    // 行数
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 10
    }

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

        let cells = (tableView.dequeueReusableCell(withIdentifier: "cellID", for: indexPath)) as UITableViewCell
        cells.textLabel?.text = testValue as String
        return cells
    }

    // 点击响应事件
        func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        tableView.deselectRow(at: indexPath, animated: true)
    }

    // 分割线无间距
   override func viewDidLayoutSubviews() {
    mytableView?.separatorInset = .zero
    mytableView?.layoutMargins = .zero
    }

    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        cell.separatorInset = .zero
        cell.layoutMargins = .zero
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值