[ios] fix button image padding for right-to-left layout
Signed-off-by: André <135858315+andre1110@users.noreply.github.com>
This commit is contained in:
parent
aa436f3cf7
commit
06f8baeef6
6 changed files with 31 additions and 19 deletions
|
@ -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) {
|
||||
[MWMBaseRoutePreviewStatus setImagePadding:0.0 for:self.drivingOptionsButton];
|
||||
[self.drivingOptionsButton setImage:nil
|
||||
forState:UIControlStateNormal];
|
||||
[self.drivingOptionsButton setTitle:L(@"define_to_avoid_btn").uppercaseString
|
||||
forState:UIControlStateNormal];
|
||||
} else if (state == MWMDrivingOptionsStateChange) {
|
||||
[MWMBaseRoutePreviewStatus setImagePadding:5.0 for:self.drivingOptionsButton];
|
||||
[self.drivingOptionsButton setImage:[UIImage imageNamed:@"ic_options_warning"]
|
||||
forState:UIControlStateNormal];
|
||||
[self.drivingOptionsButton setTitle:L(@"change_driving_options_btn").uppercaseString
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Opi-yT-xIZ">
|
||||
<rect key="frame" x="72.5" y="12" width="175" height="24"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/>
|
||||
<inset key="imageEdgeInsets" minX="-10" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="DEFINE ROADS TO AVOID" image="ic_options_warning"/>
|
||||
<connections>
|
||||
<action selector="onDrivingOptions:" destination="u2u-Vb-2eH" eventType="touchUpInside" id="x2p-AW-91V"/>
|
||||
|
@ -284,8 +283,6 @@
|
|||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NAs-km-8uw">
|
||||
<rect key="frame" x="20" y="12" width="127" height="24"/>
|
||||
<inset key="contentEdgeInsets" minX="8" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<inset key="imageEdgeInsets" minX="-16" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="ManageRoute" image="ic_24px_manager"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="medium14:MWMBlack"/>
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZXA-Og-q2I">
|
||||
<rect key="frame" x="72.5" y="12" width="175" height="24"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/>
|
||||
<inset key="imageEdgeInsets" minX="-10" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="DEFINE ROADS TO AVOID" image="ic_options_warning"/>
|
||||
<connections>
|
||||
<action selector="onDrivingOptions:" destination="aNH-vh-DPz" eventType="touchUpInside" id="jR1-dk-nNj"/>
|
||||
|
@ -239,8 +238,6 @@
|
|||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Zzm-Yo-BvL">
|
||||
<rect key="frame" x="81" y="8" width="127" height="32"/>
|
||||
<inset key="contentEdgeInsets" minX="8" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<inset key="imageEdgeInsets" minX="-16" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="ManageRoute" image="ic_24px_manager"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="medium14:MWMBlack"/>
|
||||
|
@ -323,8 +320,6 @@
|
|||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="K37-2W-GE8">
|
||||
<rect key="frame" x="20" y="10" width="127" height="24"/>
|
||||
<inset key="contentEdgeInsets" minX="8" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<inset key="imageEdgeInsets" minX="-16" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="ManageRoute" image="ic_24px_manager"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="medium14:MWMBlack"/>
|
||||
|
|
|
@ -83,8 +83,21 @@ final class BaseRoutePreviewStatus: SolidTouchView {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@objc static func setImagePadding(_ padding: CGFloat, for button: UIButton) {
|
||||
let isRightToLeft = UIView.userInterfaceLayoutDirection(for: button.semanticContentAttribute) == .rightToLeft
|
||||
if(isRightToLeft){
|
||||
button.contentEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: padding)
|
||||
button.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: -2 * padding)
|
||||
}
|
||||
else {
|
||||
button.contentEdgeInsets = UIEdgeInsets(top: 0, left: padding, bottom: 0, right: 0)
|
||||
button.imageEdgeInsets = UIEdgeInsets(top: 0, left: -2 * padding, bottom: 0, right: 0)
|
||||
}
|
||||
}
|
||||
|
||||
private func configManageRouteButton(_ button: UIButton) {
|
||||
BaseRoutePreviewStatus.setImagePadding(8, for: button)
|
||||
button.setTitle(L("planning_route_manage_route"), for: .normal)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,26 +1,29 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "Manager.png",
|
||||
"idiom" : "universal",
|
||||
"language-direction" : "left-to-right",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "Manager@2x.png",
|
||||
"idiom" : "universal",
|
||||
"language-direction" : "left-to-right",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "Manager@3x.png",
|
||||
"idiom" : "universal",
|
||||
"language-direction" : "left-to-right",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"template-rendering-intent" : "template"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_24px_manager.pdf",
|
||||
"idiom" : "universal",
|
||||
"filename" : "ic_24px_manager.pdf"
|
||||
"language-direction" : "left-to-right"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"template-rendering-intent" : "template"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue