//
//  BaseTableViewPlainController.swift
//  SwiftProject
//
//  Created by soldoros on 2024/1/10.
//

import UIKit



class BaseTableViewPlainController: BaseController,UITableViewDelegate,UITableViewDataSource {
    
    // 表单的高度，表单在根页面和子页面的高度有差距，
    var tableViewH:CGFloat = (0.0)
    // 视图控制器中的表单
    var mTableView:UITableView?
    // 表单数据源
    var datas:NSMutableArray?
    // 表单的数据源，此处是可变字典
    var dicts:NSMutableDictionary?
    
    
    override init(isRoot: Bool, titleString: NSString) {
        super.init(isRoot: isRoot, titleString: titleString)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        if(self._isRoot == true){
            self.tableViewH = MainViewRoot_Height;
        }else{
            self.tableViewH = MainViewSub_Height;
        }
        
        self.mTableView = UITableView.init(frame: CGRect.init(x: 0, y: SafeAreaTop_Height, width: SCREEN_Width, height: self.tableViewH), style: UITableView.Style.plain)
        view.addSubview(self.mTableView!)
        self.mTableView!.delegate = (self as UITableViewDelegate)
        self.mTableView!.dataSource = (self as UITableViewDataSource)
        self.mTableView!.backgroundColor = BackGroundColor
        self.mTableView!.backgroundView?.backgroundColor = BackGroundColor
        self.mTableView!.rowHeight = UITableView.automaticDimension
        self.mTableView!.sectionHeaderHeight = 0
        self.mTableView!.sectionFooterHeight = 0
        self.mTableView!.estimatedRowHeight = 44
        self.mTableView!.contentInset = UIEdgeInsets.init(top: 0, left: 0, bottom: 0, right: 0)
        self.mTableView?.scrollIndicatorInsets =  self.mTableView!.contentInset
        //self.mTableView.separatorStyle = UITableViewCell.SeparatorStyle.none
        
        mTableView?.register(UITableViewCell.classForCoder(), forHeaderFooterViewReuseIdentifier: "cellId")
        
    }
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 0
    }
    
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        return nil
    }
    
    func tableView(_ tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat {
        return 0
    }
    
    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        return nil
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 44
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 20
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cellId")!
        cell.selectionStyle = UITableViewCell.SelectionStyle.none
        return cell
    }
    
}

