From 349f8fc08db66f1171549bb5181d2997c2914ce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9?= <135858315+andre1110@users.noreply.github.com> Date: Sun, 13 Oct 2024 22:35:45 +0700 Subject: [PATCH] [ios] Fix image padding for buttons in right-to-left layout (#9442) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ios] fix button image padding for right-to-left layout * Fix formatting in BaseRoutePreviewStatus.swift * Address review comments Signed-off-by: André <135858315+andre1110@users.noreply.github.com> --- .../Maps/Categories/UIButton+ImagePadding.swift | 12 ++++++++++++ .../Views/RoutePreview/MWMRoutePreview.mm | 3 +++ .../Views/RoutePreview/MWMiPadRoutePreview.xib | 3 --- .../Views/RoutePreview/MWMiPhoneRoutePreview.xib | 5 ----- .../BaseRoutePreviewStatus.swift | 1 + .../ic_search_mode_list.imageset/Contents.json | 15 +++++++++------ .../ic_24px_manager.imageset/Contents.json | 9 +++++---- iphone/Maps/Maps.xcodeproj/project.pbxproj | 4 ++++ 8 files changed, 34 insertions(+), 18 deletions(-) create mode 100644 iphone/Maps/Categories/UIButton+ImagePadding.swift diff --git a/iphone/Maps/Categories/UIButton+ImagePadding.swift b/iphone/Maps/Categories/UIButton+ImagePadding.swift new file mode 100644 index 0000000000..cbdd0bfda8 --- /dev/null +++ b/iphone/Maps/Categories/UIButton+ImagePadding.swift @@ -0,0 +1,12 @@ +extension UIButton { + @objc func setImagePadding(_ padding: CGFloat) { + let isRightToLeft = UIView.userInterfaceLayoutDirection(for: self.semanticContentAttribute) == .rightToLeft + if isRightToLeft { + self.contentEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: padding) + self.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: -2 * padding) + } else { + self.contentEdgeInsets = UIEdgeInsets(top: 0, left: padding, bottom: 0, right: 0) + self.imageEdgeInsets = UIEdgeInsets(top: 0, left: -2 * padding, bottom: 0, right: 0) + } + } +} diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm index b9a12b74d1..58a6365ca6 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreview.mm @@ -4,6 +4,7 @@ #import "MWMRouter.h" #import "UIButton+Orientation.h" #import "UIImageView+Coloring.h" +#import "SwiftBridge.h" #include "platform/platform.hpp" @@ -179,11 +180,13 @@ static CGFloat const kDrivingOptionsHeight = 48; }]; if (state == MWMDrivingOptionsStateDefine) { + [self.drivingOptionsButton setImagePadding:0.0]; [self.drivingOptionsButton setImage:nil forState:UIControlStateNormal]; [self.drivingOptionsButton setTitle:L(@"define_to_avoid_btn").uppercaseString forState:UIControlStateNormal]; } else if (state == MWMDrivingOptionsStateChange) { + [self.drivingOptionsButton setImagePadding:5.0]; [self.drivingOptionsButton setImage:[UIImage imageNamed:@"ic_options_warning"] forState:UIControlStateNormal]; [self.drivingOptionsButton setTitle:L(@"change_driving_options_btn").uppercaseString diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMiPadRoutePreview.xib b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMiPadRoutePreview.xib index e8c16dba64..87e7282a0b 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMiPadRoutePreview.xib +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMiPadRoutePreview.xib @@ -39,7 +39,6 @@