Reload the timeline on content size category changes, dynamic type support.

This commit is contained in:
Stefan Ceriu
2022-03-24 14:49:09 +02:00
parent c1ecf5cd10
commit c7a97a7ea2

View File

@@ -8,6 +8,7 @@
import Foundation
import Combine
import UIKit
class RoomTimelineController: RoomTimelineControllerProtocol {
private let timelineProvider: RoomTimelineProviderProtocol
@@ -38,6 +39,8 @@ class RoomTimelineController: RoomTimelineControllerProtocol {
self.updateTimelineItems()
}
}.store(in: &cancellables)
NotificationCenter.default.addObserver(self, selector: #selector(contentSizeCategoryDidChange), name: UIContentSizeCategory.didChangeNotification, object: nil)
}
func paginateBackwards(_ count: UInt, callback: @escaping ((Result<Void, RoomTimelineControllerError>) -> Void)) {
@@ -76,6 +79,11 @@ class RoomTimelineController: RoomTimelineControllerProtocol {
// MARK: - Private
@objc private func contentSizeCategoryDidChange() {
// Recompute all attributed strings on content size changes -> DynamicType support
updateTimelineItems()
}
private func updateTimelineItems() {
var newTimelineItems = [RoomTimelineItemProtocol]()