session-ios/Session/Conversations/Views & Modals/InfoBanner.swift

34 lines
992 B
Swift

final class InfoBanner : UIView {
private let message: String
private let snBackgroundColor: UIColor
init(message: String, backgroundColor: UIColor) {
self.message = message
self.snBackgroundColor = backgroundColor
super.init(frame: CGRect.zero)
setUpViewHierarchy()
}
override init(frame: CGRect) {
preconditionFailure("Use init(message:) instead.")
}
required init?(coder: NSCoder) {
preconditionFailure("Use init(coder:) instead.")
}
private func setUpViewHierarchy() {
backgroundColor = snBackgroundColor
let label = UILabel()
label.text = message
label.font = .boldSystemFont(ofSize: Values.smallFontSize)
label.textColor = .white
label.numberOfLines = 0
label.textAlignment = .center
label.lineBreakMode = .byWordWrapping
addSubview(label)
label.pin(to: self, withInset: Values.mediumSpacing)
}
}