RoomCellContentView: Handle read marker view.

This commit is contained in:
SBiOSoftWhare
2022-02-17 19:21:33 +01:00
parent 72d9a9b01b
commit 31d3e8cc7e
2 changed files with 79 additions and 0 deletions
@@ -56,6 +56,12 @@ final class RoomCellContentView: UIView, NibLoadable {
@IBOutlet weak var readReceiptsContainerView: UIView!
@IBOutlet weak var readReceiptsContentView: UIView!
@IBOutlet weak var readMarkerContainerView: UIView!
@IBOutlet weak var readMarkerContentView: UIView!
var readMarkerViewLeadingConstraint: NSLayoutConstraint?
var readMarkerViewTrailingConstraint: NSLayoutConstraint?
@IBOutlet weak var reactionsContainerView: UIView!
@IBOutlet weak var reactionsContentView: UIView!
@IBOutlet weak var reactionsContentViewLeadingConstraint: NSLayoutConstraint!
@@ -154,6 +160,15 @@ final class RoomCellContentView: UIView, NibLoadable {
}
}
var showReadMarker: Bool {
get {
return !self.readMarkerContainerView.isHidden
}
set {
self.readMarkerContainerView.isHidden = !newValue
}
}
var decorationViewsAlignment: RoomCellDecorationAlignment = .left
// MARK: - Setup
@@ -304,3 +319,46 @@ extension RoomCellContentView: RoomCellURLPreviewDisplayable {
self.urlPreviewContentView.vc_removeAllSubviews()
}
}
// MARK: - RoomCellReadMarkerDisplayable
extension RoomCellContentView: RoomCellReadMarkerDisplayable {
func addReadMarkerView(_ readMarkerView: UIView) {
guard let containerView = self.readMarkerContainerView else {
return
}
self.readMarkerContentView.vc_removeAllSubviews()
readMarkerView.translatesAutoresizingMaskIntoConstraints = false
self.readMarkerContentView.addSubview(readMarkerView)
// Force read marker constraints
let topConstraint = readMarkerView.topAnchor.constraint(equalTo: containerView.topAnchor)
let leadingConstraint = readMarkerView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor)
let trailingConstraint = readMarkerView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor)
let heightConstraint = readMarkerView.heightAnchor.constraint(equalToConstant: PlainRoomCellLayoutConstants.readMarkerViewHeight)
let bottomContraint = readMarkerView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
NSLayoutConstraint.activate([topConstraint,
leadingConstraint,
trailingConstraint,
heightConstraint,
bottomContraint])
self.readMarkerViewLeadingConstraint = leadingConstraint
self.readMarkerViewTrailingConstraint = trailingConstraint
self.showReadMarker = true
}
func removeReadMarkerView() {
self.showReadMarker = false
self.readMarkerContentView.vc_removeAllSubviews()
}
}