diff --git a/Classes/BITAuthenticationViewController.h b/Classes/BITAuthenticationViewController.h index 8782985283..8f1a446877 100644 --- a/Classes/BITAuthenticationViewController.h +++ b/Classes/BITAuthenticationViewController.h @@ -19,6 +19,11 @@ */ @property (nonatomic, assign) BOOL requirePassword; +/** configure if user can abort authentication or not + * + * defaults to YES + */ +@property (nonatomic, assign) BOOL showsCancelButton; /** * TODO: instead of passing the whole authenticator, we actually only need * something to create and enqueue BITHTTPOperations diff --git a/Classes/BITAuthenticationViewController.m b/Classes/BITAuthenticationViewController.m index ddaf5b9851..1a20676bb5 100644 --- a/Classes/BITAuthenticationViewController.m +++ b/Classes/BITAuthenticationViewController.m @@ -41,11 +41,8 @@ _statusBarStyle = [[UIApplication sharedApplication] statusBarStyle]; [[UIApplication sharedApplication] setStatusBarStyle:(self.navigationController.navigationBar.barStyle == UIBarStyleDefault) ? UIStatusBarStyleDefault : UIStatusBarStyleBlackOpaque]; - - // Do any additional setup after loading the view. - self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel - target:self - action:@selector(dismissAction:)]; + + [self updateCancelButton]; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self @@ -60,6 +57,23 @@ [[UIApplication sharedApplication] setStatusBarStyle:_statusBarStyle]; } +- (void)setShowsCancelButton:(BOOL)showsCancelButton { + if(_showsCancelButton != showsCancelButton) { + _showsCancelButton = showsCancelButton; + [self updateCancelButton]; + } +} + +- (void) updateCancelButton { + if(self.showsCancelButton) { + self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel + target:self + action:@selector(dismissAction:)]; + } else { + self.navigationItem.leftBarButtonItem = nil; + } +} + #pragma mark - UIViewController Rotation - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {