mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
52 lines
1.3 KiB
Swift
52 lines
1.3 KiB
Swift
//
|
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
@objc
|
|
public class MessageStatusView: UIView {
|
|
|
|
private let imageView: UIImageView
|
|
private let lastBaselineView: UIView
|
|
|
|
// MessageStatusView is aligned 1pt below it's baseline.
|
|
private let kBaselineOverhang: CGFloat = 1
|
|
|
|
@objc
|
|
public var image: UIImage? {
|
|
get {
|
|
return imageView.image
|
|
}
|
|
set {
|
|
imageView.image = newValue
|
|
}
|
|
}
|
|
|
|
public override init(frame: CGRect) {
|
|
self.imageView = UIImageView()
|
|
self.lastBaselineView = UIView()
|
|
|
|
super.init(frame: frame)
|
|
|
|
self.addSubview(imageView)
|
|
self.addSubview(lastBaselineView)
|
|
|
|
imageView.setCompressionResistanceHigh()
|
|
imageView.setContentHuggingHigh()
|
|
imageView.autoPinEdgesToSuperviewEdges()
|
|
|
|
lastBaselineView.autoSetDimension(.height, toSize: 1)
|
|
lastBaselineView.autoPinEdge(toSuperviewEdge: .left)
|
|
lastBaselineView.autoPinEdge(toSuperviewEdge: .right)
|
|
lastBaselineView.autoPinEdge(toSuperviewEdge: .bottom, withInset: kBaselineOverhang)
|
|
}
|
|
|
|
public override var forLastBaselineLayout: UIView {
|
|
return self.lastBaselineView
|
|
}
|
|
|
|
required public init?(coder aDecoder: NSCoder) {
|
|
notImplemented()
|
|
}
|
|
}
|