Skip to content

Commit 8121923

Browse files
hideCancelButton implementation
1 parent 70b1ad5 commit 8121923

File tree

5 files changed

+49
-28
lines changed

5 files changed

+49
-28
lines changed

FirebaseAuthUI/FUIAuth.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,11 @@ __attribute__((deprecated("Instead use authUI:didSignInWithAuthDataResult:error:
181181
*/
182182
@property(nonatomic, assign) BOOL allowNewEmailAccounts;
183183

184+
/** @property hideCancelButton
185+
@brief Whether to hide the canel button, defaults to NO.
186+
*/
187+
@property(nonatomic, assign) BOOL hideCancelButton;
188+
184189
/** @property customStringsBundle
185190
@brief Custom strings bundle supplied by the developer. Nil when there is no custom strings
186191
bundle set. In which case the default bundle will be used.

FirebaseAuthUI/FUIAuthPickerViewController.m

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,14 @@ - (instancetype)initWithNibName:(NSString *)nibNameOrNil
8080
- (void)viewDidLoad {
8181
[super viewDidLoad];
8282

83-
UIBarButtonItem *cancelBarButton =
84-
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
85-
target:self
86-
action:@selector(cancelAuthorization)];
87-
self.navigationItem.leftBarButtonItem = cancelBarButton;
83+
if (!self.authUI.hideCancelButton) {
84+
UIBarButtonItem *cancelBarButton =
85+
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
86+
target:self
87+
action:@selector(cancelAuthorization)];
88+
self.navigationItem.leftBarButtonItem = cancelBarButton;
89+
}
90+
8891
self.navigationItem.backBarButtonItem =
8992
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
9093
style:UIBarButtonItemStylePlain

FirebaseAuthUI/FUIEmailEntryViewController.m

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,13 @@ - (void)viewWillAppear:(BOOL)animated {
102102
[super viewWillAppear:animated];
103103

104104
if (self.navigationController.viewControllers.firstObject == self) {
105-
UIBarButtonItem *cancelBarButton =
106-
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
107-
target:self
108-
action:@selector(cancelAuthorization)];
109-
self.navigationItem.leftBarButtonItem = cancelBarButton;
105+
if (!self.authUI.hideCancelButton) {
106+
UIBarButtonItem *cancelBarButton =
107+
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
108+
target:self
109+
action:@selector(cancelAuthorization)];
110+
self.navigationItem.leftBarButtonItem = cancelBarButton;
111+
}
110112
self.navigationItem.backBarButtonItem =
111113
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
112114
style:UIBarButtonItemStylePlain

FirebaseAuthUI/FUIPasswordSignInViewController.m

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -96,20 +96,22 @@ - (void)viewDidLoad {
9696
}
9797

9898
- (void)viewWillAppear:(BOOL)animated {
99-
[super viewWillAppear:animated];
100-
101-
if (self.navigationController.viewControllers.firstObject == self) {
102-
UIBarButtonItem *cancelBarButton =
103-
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
104-
target:self
105-
action:@selector(cancelAuthorization)];
106-
self.navigationItem.leftBarButtonItem = cancelBarButton;
107-
self.navigationItem.backBarButtonItem =
108-
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
109-
style:UIBarButtonItemStylePlain
110-
target:nil
111-
action:nil];
99+
[super viewWillAppear:animated];
100+
101+
if (self.navigationController.viewControllers.firstObject == self) {
102+
if (!self.authUI.hideCancelButton) {
103+
UIBarButtonItem *cancelBarButton =
104+
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
105+
target:self
106+
action:@selector(cancelAuthorization)];
107+
self.navigationItem.leftBarButtonItem = cancelBarButton;
112108
}
109+
self.navigationItem.backBarButtonItem =
110+
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
111+
style:UIBarButtonItemStylePlain
112+
target:nil
113+
action:nil];
114+
}
113115
}
114116

115117
#pragma mark - Actions

FirebasePhoneAuthUI/FUIPhoneEntryViewController.m

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,20 @@ - (void)viewWillAppear:(BOOL)animated {
140140
[super viewWillAppear:animated];
141141

142142
if (self.navigationController.viewControllers.firstObject == self) {
143-
UIBarButtonItem *cancelBarButton =
144-
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
145-
target:self
146-
action:@selector(cancelAuthorization)];
147-
self.navigationItem.leftBarButtonItem = cancelBarButton;
143+
if (self.authUI.providers.count != 1){
144+
UIBarButtonItem *cancelBarButton =
145+
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
146+
style:UIBarButtonItemStylePlain
147+
target:self
148+
action:@selector(cancelAuthorization)];
149+
self.navigationItem.leftBarButtonItem = cancelBarButton;
150+
} else if (!self.authUI.hideCancelButton) {
151+
UIBarButtonItem *cancelBarButton =
152+
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
153+
target:self
154+
action:@selector(cancelAuthorization)];
155+
self.navigationItem.leftBarButtonItem = cancelBarButton;
156+
}
148157
self.navigationItem.backBarButtonItem =
149158
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
150159
style:UIBarButtonItemStylePlain

0 commit comments

Comments
 (0)