Don_Mag icon

Untitled

Don_Mag | PRO | 05/03/21 08:33:54 PM UTC | 0 ⭐ | 1924 👁️ | Never ⏰ | []
Swift |

2.65 KB

|

None

|

0 👍

/

0 👎

class TransactionCell: UITableViewCell {
}
 
class TransactionsHeaderView: UITableViewHeaderFooterView {
    static let reuseId = "CustomHeader"
}
 
class TransactionsViewController: UIViewController {
 
    let cellId = "cellID"
    let numSections: Int = 4
    
    lazy var tableView = UITableView()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        commonInit()
    }
    
    private func commonInit() {
        
        //view.backgroundColor = .clear
        
        tableView.backgroundColor = .systemBackground
        tableView.rowHeight = 74
        tableView.sectionHeaderHeight = 50
        
        tableView.register(TransactionCell.self, forCellReuseIdentifier: cellId)
        tableView.register(TransactionsHeaderView.self, forHeaderFooterViewReuseIdentifier: TransactionsHeaderView.reuseId)
        
        tableView.delegate = self
        tableView.dataSource = self
        
        tableView.contentInsetAdjustmentBehavior = .never
        tableView.separatorInset = UIEdgeInsets(top: 0, left: 32, bottom: 0, right: 16)
        tableView.tableFooterView = UIView()
        
        view.addSubview(tableView)
        
        tableView.translatesAutoresizingMaskIntoConstraints = false
        
        let g = view.safeAreaLayoutGuide
        
        NSLayoutConstraint.activate([
            
            tableView.topAnchor.constraint(equalTo: g.topAnchor, constant: 20.0),
            tableView.leadingAnchor.constraint(equalTo: g.leadingAnchor, constant: 20.0),
            tableView.trailingAnchor.constraint(equalTo: g.trailingAnchor, constant: -20.0),
            tableView.bottomAnchor.constraint(equalTo: g.bottomAnchor, constant: -20.0),
            
        ])
 
    }
    
}
 
extension TransactionsViewController: UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate {
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return numSections // self.sections.count
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        return 4 //sections[section].transactions.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        guard let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as? TransactionCell  else {
            fatalError("The dequeued cell is not an instance of HomeTableViewCell.")
        }
        return cell
    }
    
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        print(#function, section)
        
        let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: TransactionsHeaderView.reuseId) as! TransactionsHeaderView
        header.contentView.backgroundColor = .orange
        return header
    }
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        print(#function, section)
        return 50
    }
    
}
 

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎