Swift 4.0 純程式碼實現UITableView

來源:互聯網
上載者:User
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    }
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.