import UIKit public final class BubbleView<Content: UIView>: UIView { private let content: Content private let padding: CGFloat public init(_ content: Content, padding: CGFloat = 0) { self.content = content self.padding = padding super.init(frame: .zero) setup() } required init?(coder: NSCoder) { nil } private func setup() { layer.cornerRadius = 4 clipsToBounds = true addSubview(content) content.snp.makeConstraints { make in make.top.leading.equalToSuperview().offset(padding) make.bottom.trailing.equalToSuperview().offset(-padding) } } }