@@ -15,23 +15,6 @@ protocol PostEditorNavigationBarManagerDelegate: AnyObject {
15
15
func navigationBarManager( _ manager: PostEditorNavigationBarManager , displayCancelMediaUploads sender: UIButton )
16
16
}
17
17
18
- class ExtendedTouchAreaButton : UIButton {
19
- private var touchAreaPadding : CGFloat = 24.0
20
-
21
- override var isHighlighted : Bool {
22
- didSet {
23
- UIView . animate ( withDuration: 0.2 ) {
24
- self . alpha = self . isHighlighted ? 0.5 : 1.0
25
- }
26
- }
27
- }
28
-
29
- override func point( inside point: CGPoint , with event: UIEvent ? ) -> Bool {
30
- let extendedArea = bounds. insetBy ( dx: - touchAreaPadding, dy: - touchAreaPadding)
31
- return extendedArea. contains ( point)
32
- }
33
- }
34
-
35
18
// A class to share the navigation bar UI of the Post Editor.
36
19
// Currenly shared between Aztec and Gutenberg
37
20
//
@@ -40,56 +23,14 @@ class PostEditorNavigationBarManager {
40
23
41
24
// MARK: - Buttons
42
25
43
- /// Dismiss Button
44
- ///
45
- let siteIconView : SiteDetailsSiteIconView = {
46
- let siteIconView = SiteDetailsSiteIconView ( frame: . zero)
47
- siteIconView. translatesAutoresizingMaskIntoConstraints = false
48
- siteIconView. imageView. sizeToFit ( )
49
-
50
- let widthConstraint = siteIconView. widthAnchor. constraint ( equalToConstant: 28 )
51
- let heightConstraint = siteIconView. heightAnchor. constraint ( equalToConstant: 28 )
52
- NSLayoutConstraint . activate ( [ widthConstraint, heightConstraint] )
53
- siteIconView. isUserInteractionEnabled = false
54
- siteIconView. removeButtonBorder ( )
55
- return siteIconView
56
- } ( )
57
-
58
- lazy var closeButton : UIButton = {
59
- let button = UIButton ( type: . system)
60
- button. setImage ( UIImage ( systemName: " chevron.backward " ) , for: . normal)
61
- button. sizeToFit ( )
62
- button. translatesAutoresizingMaskIntoConstraints = false
63
- button. configuration? . contentInsets = NSDirectionalEdgeInsets ( top: 0 , leading: 0 , bottom: 0 , trailing: 0 )
64
- button. isUserInteractionEnabled = false
65
- return button
66
- } ( )
67
-
68
- lazy var closeButtonContainer : ExtendedTouchAreaButton = {
69
- let button = ExtendedTouchAreaButton ( type: . custom)
70
- button. translatesAutoresizingMaskIntoConstraints = false
71
- button. accessibilityIdentifier = " editor-close-button "
26
+ private( set) lazy var closeButton : UIBarButtonItem = {
27
+ let button = UIBarButtonItem ( image: UIImage ( systemName: " xmark " ) , style: . plain, target: self , action: #selector( closeWasPressed) )
72
28
button. accessibilityLabel = NSLocalizedString ( " Close " , comment: " Action button to close the editor " )
73
-
74
- let tapGesture = UITapGestureRecognizer ( target: self , action: #selector( closeWasPressed) )
75
- button. addGestureRecognizer ( tapGesture)
76
-
77
- button. addSubview ( closeButton)
78
- button. addSubview ( siteIconView)
79
-
80
- NSLayoutConstraint . activate ( [
81
- closeButton. leadingAnchor. constraint ( equalTo: button. leadingAnchor, constant: - 8 ) ,
82
- closeButton. centerYAnchor. constraint ( equalTo: button. centerYAnchor) ,
83
- siteIconView. leadingAnchor. constraint ( equalTo: closeButton. trailingAnchor, constant: 0 ) ,
84
- siteIconView. trailingAnchor. constraint ( equalTo: button. trailingAnchor) ,
85
- siteIconView. centerYAnchor. constraint ( equalTo: button. centerYAnchor)
86
- ] )
87
- button. isUserInteractionEnabled = true
88
- button. frame = CGRect ( x: 0 , y: 0 , width: 70 , height: 28 )
29
+ button. accessibilityIdentifier = " editor-close-button "
89
30
return button
90
31
} ( )
91
32
92
- lazy var undoButton : UIButton = {
33
+ private ( set ) lazy var undoButton : UIButton = {
93
34
let isRTL = UIView . userInterfaceLayoutDirection ( for: . unspecified) == . rightToLeft
94
35
let undoImage = UIImage ( named: " editor-undo " )
95
36
let button = UIButton ( type: . system)
@@ -103,7 +44,7 @@ class PostEditorNavigationBarManager {
103
44
return button
104
45
} ( )
105
46
106
- lazy var redoButton : UIButton = {
47
+ private ( set ) lazy var redoButton : UIButton = {
107
48
let isRTL = UIView . userInterfaceLayoutDirection ( for: . unspecified) == . rightToLeft
108
49
let redoImage = UIImage ( named: " editor-redo " )
109
50
let button = UIButton ( type: . system)
@@ -117,7 +58,7 @@ class PostEditorNavigationBarManager {
117
58
return button
118
59
} ( )
119
60
120
- lazy var moreButton : UIButton = {
61
+ private ( set ) lazy var moreButton : UIButton = {
121
62
let image = UIImage ( named: " editor-more " )
122
63
let button = UIButton ( type: . system)
123
64
button. setImage ( image, for: . normal)
@@ -129,23 +70,17 @@ class PostEditorNavigationBarManager {
129
70
} ( )
130
71
131
72
/// Blog TitleView Label
132
- lazy var blogTitleViewLabel : UILabel = {
73
+ private ( set ) lazy var blogTitleViewLabel : UILabel = {
133
74
let label = UILabel ( )
134
75
label. textColor = UIAppColor . appBarText
135
76
label. font = Fonts . blogTitle
136
77
return label
137
78
} ( )
138
79
139
80
/// Publish Button
140
- private( set) lazy var publishButton : UIButton = {
141
- let button = UIButton ( type: . system)
142
- button. addTarget ( self , action: #selector( publishButtonTapped ( sender: ) ) , for: . touchUpInside)
143
- button. setTitle ( delegate? . publishButtonText ?? " " , for: . normal)
144
- button. sizeToFit ( )
81
+ private( set) lazy var publishButton : UIBarButtonItem = {
82
+ let button = UIBarButtonItem ( title: delegate? . publishButtonText, style: . plain, target: self , action: #selector( publishButtonTapped) )
145
83
button. isEnabled = delegate? . isPublishButtonEnabled ?? false
146
- button. setContentHuggingPriority ( . required, for: . horizontal)
147
- button. tintColor = UIColor ( light: . black, dark: . white)
148
- button. titleLabel? . font = UIFont . systemFont ( ofSize: 17.0 )
149
84
return button
150
85
} ( )
151
86
@@ -170,22 +105,6 @@ class PostEditorNavigationBarManager {
170
105
return separator
171
106
} ( )
172
107
173
- /// NavigationBar's Close Button
174
- ///
175
- lazy var closeBarButtonItem : UIBarButtonItem = {
176
- let cancelItem = UIBarButtonItem ( customView: self . closeButtonContainer)
177
- cancelItem. accessibilityLabel = NSLocalizedString ( " Close " , comment: " Action button to close edior and cancel changes or insertion of post " )
178
- cancelItem. accessibilityIdentifier = " Close "
179
- return cancelItem
180
- } ( )
181
-
182
- /// Publish Button
183
- private( set) lazy var publishBarButtonItem : UIBarButtonItem = {
184
- let button = UIBarButtonItem ( customView: self . publishButton)
185
-
186
- return button
187
- } ( )
188
-
189
108
/// NavigationBar's More Button
190
109
///
191
110
lazy var moreBarButtonItem : UIBarButtonItem = {
@@ -222,7 +141,7 @@ class PostEditorNavigationBarManager {
222
141
// MARK: - Public
223
142
224
143
var leftBarButtonItems : [ UIBarButtonItem ] {
225
- return [ closeBarButtonItem ]
144
+ return [ closeButton ]
226
145
}
227
146
228
147
var uploadingMediaTitleView : UIView {
@@ -232,16 +151,19 @@ class PostEditorNavigationBarManager {
232
151
var rightBarButtonItems : [ UIBarButtonItem ] {
233
152
let undoButton = UIBarButtonItem ( customView: self . undoButton)
234
153
let redoButton = UIBarButtonItem ( customView: self . redoButton)
235
- return [ publishBarButtonItem, separatorButtonItem, moreBarButtonItem, separatorButtonItem, redoButton, separatorButtonItem, undoButton]
154
+ if #available( iOS 26 , * ) {
155
+ return [ publishButton, separatorButtonItem, moreBarButtonItem, redoButton, undoButton]
156
+ } else {
157
+ return [ publishButton, separatorButtonItem, moreBarButtonItem, separatorButtonItem, redoButton, separatorButtonItem, undoButton]
158
+ }
236
159
}
237
160
238
161
var rightBarButtonItemsAztec : [ UIBarButtonItem ] {
239
- return [ moreBarButtonItem, publishBarButtonItem , separatorButtonItem]
162
+ return [ moreBarButtonItem, publishButton , separatorButtonItem]
240
163
}
241
164
242
165
func reloadPublishButton( ) {
243
- publishButton. setTitle ( delegate? . publishButtonText ?? " " , for: . normal)
244
- publishButton. sizeToFit ( )
166
+ publishButton. title = delegate? . publishButtonText
245
167
publishButton. isEnabled = delegate? . isPublishButtonEnabled ?? true
246
168
}
247
169
}
0 commit comments