Thứ Tư, 8 tháng 5, 2019

UITableView Swift

class MenuScreenVC: UIViewController, UITableViewDataSource, UITableViewDelegate {
    
    @IBOutlet weak var tableView: UITableView!
    var listMenu: [OptionItemDTO] = []

    override func viewDidLoad() {
        super.viewDidLoad()
        
        initDataMenu()
        
        self.tableView.tableFooterView = UIView()
        self.tableView.delegate = self
        self.tableView.dataSource = self
        self.tableView.register(UINib(nibName: "MenuViewCell", bundle: Bundle.main), forCellReuseIdentifier: "MenuViewCell")
    }
    
    // tableview
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.listMenu.count
    }
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 64
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "MenuViewCell") as! MenuViewCell
        let dto = listMenu[indexPath.row]
        cell.binđata(dto: dto)
        return cell
    }
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        let cell:MenuViewCell = tableView.cellForRow(at:indexPath) as! MenuViewCell
        let vc = WebViewVC()
        vc.urlString = cell.dto?.url ?? ""
        self.navigationController?.pushViewController(vc, animated: true)

    }
}

Không có nhận xét nào:

Đăng nhận xét