美文网首页
iOS-UITableView学习笔记

iOS-UITableView学习笔记

作者: 梦醉荼靡 | 来源:发表于2018-08-03 14:21 被阅读0次

    tableview 的cell点击事件
    不重复使用的cell需要单独定义并实现跳转二级界面

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
            // 不加此句时,在二级界面点击返回时,此行会由选中状态慢慢变成非选中状态。
            // 加上此句,返回时直接就是非选中状态。
            tableView.deselectRow(at: indexPath as IndexPath, animated: true)
            var vc = accountDetailViewController()
            switch indexPath.row {
            case 1:
                 vc = accountDetailViewController()
                break
            case 2:
                
                break
            case 3:
                
                break
        
            default:
                break
            }
             self.navigationController?.pushViewController(vc, animated: true)
        }
    

    重复使用的cell点击事件直接传值跳转二级界面可返回

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
            let cell = tableView.cellForRow(at: indexPath) as! homeTableViewCell
            let vc = homeInfoViewController()
            vc.view.backgroundColor = UIColor.white
            self.navigationController?.pushViewController(vc, animated: true)
    

    手动隐藏导航条

     //隐藏导航条
          self.navigationController?.isNavigationBarHidden = true
    

    设置tableview自定义cell 无论是storyboard还是xib文件中,一定要在对应的cell名称,才能实现跳转和对应cell的显示


    2DF1869D-9E32-45BF-A554-E6A930D85849.png 7D2DDB3A-5387-42C3-8572-BCD82422D6A7.png
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCell(withIdentifier: messageCellID) as! accountTableViewCell
            let setting = settings[indexPath.section] as! [accountInfo]
            cell.setting = setting[indexPath.row]
            return cell
        }
    //空cell
    let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
            return cell
    

    自定义的tableview注册的方式

    //注册tableview
     tableview = UITableView.init(frame:CGRect.init(x: 0, y: 105, width: 375, height: 603),style:UITableViewStyle.plain)
    //注册自定义xib文件的cell
            let lnib = UINib(nibName: String(describing: TableViewCell.self), bundle: nil)
            tableview.register(lnib, forCellReuseIdentifier: StarsCellID)
    //注册storyboard的cell
     // self.tableView!.register(TableViewCell().classForCoder, forCellReuseIdentifier: StarsCellID)
    

    tableview使用的时候需要绑定数据源

     self.tableView!.delegate = self
     self.tableView!.dataSource = self
    

    这次使用的显示两个界面的方式是设置tableview的head

    tableView.tableHeaderView = headerView
    private lazy var headerView: ScrollView = {
           var headerView : ScrollView! = nil
            headerView = ScrollView.init(frame: .init(x: 0, y: 0, width: SCREENW, height: 250), ImagesArr: ["img01","img_01","img_01","img_01","img_01"])
            headerView.delegate = self
            self.view.addSubview(headerView)
            return headerView
        }()
    

    刷新控件使用的是第三方库http://www.hangge.com/blog/cache/detail_1407.html

    相关文章

      网友评论

          本文标题:iOS-UITableView学习笔记

          本文链接:https://www.haomeiwen.com/subject/jeufvftx.html