From 916d787e4db49b09857917ddf34123d987fd3b93 Mon Sep 17 00:00:00 2001 From: Kiryl Kaveryn Date: Tue, 5 Nov 2024 16:18:02 +0400 Subject: [PATCH] [ios] fix UIView+AddSeparator to support the top and bottom positions Signed-off-by: Kiryl Kaveryn --- .../Maps/Categories/UIView+AddSeparator.swift | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/iphone/Maps/Categories/UIView+AddSeparator.swift b/iphone/Maps/Categories/UIView+AddSeparator.swift index db721f211d..b28e235e6f 100644 --- a/iphone/Maps/Categories/UIView+AddSeparator.swift +++ b/iphone/Maps/Categories/UIView+AddSeparator.swift @@ -1,17 +1,28 @@ extension UIView { - func addSeparator(thickness: CGFloat = 1.0, - color: UIColor? = StyleManager.shared.theme?.colors.blackDividers, + enum SeparatorPosition { + case top + case bottom + } + + func addSeparator(_ position: SeparatorPosition = .top, + thickness: CGFloat = 1.0, insets: UIEdgeInsets = .zero) { let lineView = UIView() - lineView.backgroundColor = color + lineView.setStyleAndApply("Divider") lineView.isUserInteractionEnabled = false lineView.translatesAutoresizingMaskIntoConstraints = false addSubview(lineView) + NSLayoutConstraint.activate([ lineView.heightAnchor.constraint(equalToConstant: thickness), lineView.leadingAnchor.constraint(equalTo: leadingAnchor, constant: insets.left), lineView.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -insets.right), - lineView.topAnchor.constraint(equalTo: topAnchor, constant: insets.top), ]) + switch position { + case .top: + lineView.topAnchor.constraint(equalTo: topAnchor, constant: insets.top).isActive = true + case .bottom: + lineView.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -insets.bottom).isActive = true + } } }