// // 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() if #available(iOS 15.0, *) { 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 if #available(iOS 15.0, *) { confirmButton.setNeedsUpdateConfiguration() } } @IBAction func loadMorePressed(_ sender: Any) { confirmLoadMore?() if #available(iOS 15.0, *) { isLoading = true confirmButton.setNeedsUpdateConfiguration() } } }