// // ConfirmLoadMoreTableViewCell.swift // Tusker // // Created by Shadowfacts on 6/23/21. // Copyright © 2021 Shadowfacts. All rights reserved. // import UIKit protocol ConfirmLoadOlderTableViewCellDelegate: AnyObject { func confirmLoadMore() } class ConfirmLoadMoreTableViewCell: UITableViewCell { var confirmLoadMore: (() -> Void)? @IBOutlet weak var confirmButton: UIButton! private var isLoading = false override func awakeFromNib() { super.awakeFromNib() var config = UIButton.Configuration.tinted() config.title = "Load More" config.showsActivityIndicator = false config.imagePadding = 4 confirmButton.configuration = config confirmButton.configurationUpdateHandler = { [unowned self] button in button.configuration?.showsActivityIndicator = self.isLoading } } override func prepareForReuse() { super.prepareForReuse() isLoading = false confirmButton.setNeedsUpdateConfiguration() } @IBAction func loadMorePressed(_ sender: Any) { confirmLoadMore?() isLoading = true confirmButton.setNeedsUpdateConfiguration() } }