Skip to content

Commit 672bc78

Browse files
authored
Use directionalLayoutMargins for symmetric layout margins (#25682)
Replace horizontally symmetric UIEdgeInsets layoutMargins writes with NSDirectionalEdgeInsets directionalLayoutMargins so the affected stack views and views resolve leading and trailing edges correctly under right-to-left layouts. Each site has equal left and right insets, so the change preserves the existing visual behavior.
1 parent 6a58813 commit 672bc78

21 files changed

Lines changed: 52 additions & 52 deletions

WordPress/Classes/ViewRelated/Blog/Blog Dashboard/Cards/Blaze/DashboardBlazeCampaignsCardView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ final class DashboardBlazeCampaignsCardView: UIView {
5757
frameView.add(subview: contentStackView)
5858
contentStackView.addArrangedSubview({
5959
let container = UIStackView(arrangedSubviews: [campaignView])
60-
container.layoutMargins = Constants.campaignViewInsets
60+
container.directionalLayoutMargins = Constants.campaignViewInsets
6161
container.isLayoutMarginsRelativeArrangement = true
6262
return container
6363
}())
@@ -147,7 +147,7 @@ private extension DashboardBlazeCampaignsCardView {
147147
}
148148

149149
enum Constants {
150-
static let campaignViewInsets = UIEdgeInsets(top: 16, left: 16, bottom: 16, right: 16)
150+
static let campaignViewInsets = NSDirectionalEdgeInsets(top: 16, leading: 16, bottom: 16, trailing: 16)
151151
static let createCampaignInsets = NSDirectionalEdgeInsets(top: 16, leading: 16, bottom: 8, trailing: 16)
152152
}
153153
}

WordPress/Classes/ViewRelated/Blog/Blog Dashboard/Cards/Prompts/DashboardPromptsCardCell.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class DashboardPromptsCardCell: UICollectionViewCell, Reusable {
8181
stackView.alignment = .center
8282
stackView.translatesAutoresizingMaskIntoConstraints = false
8383
stackView.spacing = Constants.spacing
84-
stackView.layoutMargins = Constants.containerMargins
84+
stackView.directionalLayoutMargins = Constants.containerMargins
8585
stackView.isLayoutMarginsRelativeArrangement = true
8686
return stackView
8787
}()
@@ -576,7 +576,7 @@ private extension DashboardPromptsCardCell {
576576
static let answeredButtonsSpacing: CGFloat = 16
577577
static let answerInfoViewSpacing: CGFloat = 6
578578
static let attributionTrailingImageSpacing: CGFloat = 6
579-
static let containerMargins = UIEdgeInsets(top: 0, left: 16, bottom: 0, right: 16)
579+
static let containerMargins = NSDirectionalEdgeInsets(top: 0, leading: 16, bottom: 0, trailing: 16)
580580
static let maxAvatarCount = 3
581581
static let exampleAnswerCount = 19
582582
static let cardFrameConstraintPriority = UILayoutPriority(999)

WordPress/Classes/ViewRelated/Comments/Views/Detail/CommentContentTableViewCell.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ final class CommentContentTableViewCell: UITableViewCell, NibReusable {
231231

232232
func configureForCommentDetails() {
233233
containerStackView.isLayoutMarginsRelativeArrangement = true
234-
containerStackView.layoutMargins = UIEdgeInsets(.vertical, 4)
234+
containerStackView.directionalLayoutMargins = NSDirectionalEdgeInsets(top: 4, leading: 0, bottom: 4, trailing: 0)
235235
}
236236

237237
private func configure(with state: CommentCellViewModel.State) {

WordPress/Classes/ViewRelated/Me/My Profile/Change Username/ChangeUsernameViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ final class ChangeUsernameViewController: UITableViewController {
4343
trackViewLoaded()
4444

4545
WPStyleGuide.configureColors(view: view, tableView: tableView)
46-
tableView.layoutMargins = WPStyleGuide.edgeInsetForLoginTextFields()
46+
tableView.directionalLayoutMargins = WPStyleGuide.edgeInsetForLoginTextFields()
4747

4848
setupViewModel()
4949
setupUI()

WordPress/Classes/ViewRelated/Me/Views/MeHeaderView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ final class MeHeaderView: UIView {
115115
func configureHorizontalMode() {
116116
stackView.axis = .horizontal
117117
stackView.spacing = 16
118-
stackView.layoutMargins = UIEdgeInsets(horizontal: 30, vertical: 6)
118+
stackView.directionalLayoutMargins = NSDirectionalEdgeInsets(top: 6, leading: 30, bottom: 6, trailing: 30)
119119
infoStackView.alignment = .leading
120120
setIconSize(40)
121121
}

WordPress/Classes/ViewRelated/Media/SiteMedia/Controllers/SiteMediaPreviewViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ final class SiteMediaPreviewViewController: UIViewController {
111111

112112
let container = UIStackView(arrangedSubviews: [infoView])
113113
container.alignment = .center
114-
container.layoutMargins = UIEdgeInsets(.all, 8)
114+
container.directionalLayoutMargins = NSDirectionalEdgeInsets(top: 8, leading: 8, bottom: 8, trailing: 8)
115115
container.isLayoutMarginsRelativeArrangement = true
116116
container.translatesAutoresizingMaskIntoConstraints = false
117117
view.addSubview(container)

WordPress/Classes/ViewRelated/Media/StockPhotos/StockPhotosWelcomeView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ final class StockPhotosWelcomeView: UIView {
2929
stack.alignment = .center
3030
stack.spacing = 24
3131
stack.isLayoutMarginsRelativeArrangement = true
32-
stack.layoutMargins = UIEdgeInsets(top: 16, left: 32, bottom: 16, right: 32)
32+
stack.directionalLayoutMargins = NSDirectionalEdgeInsets(top: 16, leading: 32, bottom: 16, trailing: 32)
3333

3434
let wrapper = UIStackView(arrangedSubviews: [stack])
3535
wrapper.alignment = .center

WordPress/Classes/ViewRelated/Menus/Categories/Menu+ViewDesign.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ extern CGFloat const MenusDesignDefaultContentSpacing;
1212
*/
1313
@interface Menu (ViewDesign)
1414

15-
+ (UIEdgeInsets)viewDefaultDesignInsets;
15+
+ (NSDirectionalEdgeInsets)viewDefaultDesignInsets;
1616

1717
@end
1818

WordPress/Classes/ViewRelated/Menus/Categories/Menu+ViewDesign.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
@implementation Menu (ViewDesign)
88

9-
+ (UIEdgeInsets)viewDefaultDesignInsets
9+
+ (NSDirectionalEdgeInsets)viewDefaultDesignInsets
1010
{
11-
return UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0);
11+
return NSDirectionalEdgeInsetsMake(10.0, 10.0, 10.0, 10.0);
1212
}
1313

1414
@end

WordPress/Classes/ViewRelated/Menus/Controllers/MenuDetailsViewController.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ - (void)viewDidLoad
3232
[super viewDidLoad];
3333

3434
self.stackView.layoutMarginsRelativeArrangement = YES;
35-
UIEdgeInsets margin = [Menu viewDefaultDesignInsets];
35+
NSDirectionalEdgeInsets margin = [Menu viewDefaultDesignInsets];
3636
margin.top = 0;
3737
margin.bottom = 0;
38-
self.stackView.layoutMargins = margin;
38+
self.stackView.directionalLayoutMargins = margin;
3939
self.stackView.spacing = 4.0;
4040

4141
[self setupTextField];

0 commit comments

Comments
 (0)