Slide 46
Slide 46 text
UITableView.ReverseExtension
private func configureTableView(_ tableView: UITableView) {
guard let base = self.base else { return }
if base.transform == CGAffineTransform.identity {
UIView.setAnimationsEnabled(false)
base.transform = CGAffineTransform.identity.rotated(by: .pi)
UIView.setAnimationsEnabled(true)
}
tableView.addObserver(self,
forKeyPath: #keyPath(UITableView.contentInset),
options: [.new, .old],
context: nil)
}
public override func observeValue(forKeyPath keyPath: String?,
of object: Any?,
change: [NSKeyValueChangeKey : Any]?,
context: UnsafeMutableRawPointer?) {
switch keyPath {
case (#keyPath(UITableView.contentInset))?:
DispatchQueue.global().async { [weak self] in
DispatchQueue.main.async {
self?.configureTableViewInsets()
}
}
default:
break
}
}