From 677397be225a3b34f4b26e573fd067f73f9eb75c Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sun, 1 Apr 2018 22:21:20 +0300 Subject: Fix login --- Juick/AppDelegate.m | 5 +++++ Juick/Main.storyboard | 11 ++++++----- Juick/ViewControllers/DiscoverViewController.m | 4 ++++ Juick/ViewControllers/LoginViewController.h | 1 + Juick/ViewControllers/LoginViewController.m | 16 ++++++++++++++++ 5 files changed, 32 insertions(+), 5 deletions(-) (limited to 'Juick') diff --git a/Juick/AppDelegate.m b/Juick/AppDelegate.m index 5f76145..4fa1f92 100644 --- a/Juick/AppDelegate.m +++ b/Juick/AppDelegate.m @@ -32,6 +32,11 @@ [[UIToolbar appearance] setTintColor:[ColorScheme linkColor]]; [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault; + if ([[NSUserDefaults standardUserDefaults] objectForKey:@"FirstRun"] == nil) { + [[PDKeychainBindings sharedKeychainBindings] setObject:nil forKey:@"com.juick.username"]; + [[PDKeychainBindings sharedKeychainBindings] setObject:nil forKey:@"com.juick.password"]; + [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"FirstRun"]; + } [self registerForRemoteNotifications]; NSDictionary *userInfo = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]; diff --git a/Juick/Main.storyboard b/Juick/Main.storyboard index 2a274d9..8042f4b 100644 --- a/Juick/Main.storyboard +++ b/Juick/Main.storyboard @@ -1,11 +1,11 @@ - + - + @@ -106,7 +106,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -151,7 +151,7 @@ - + @@ -183,6 +183,7 @@ + diff --git a/Juick/ViewControllers/DiscoverViewController.m b/Juick/ViewControllers/DiscoverViewController.m index c874c25..fde23ee 100644 --- a/Juick/ViewControllers/DiscoverViewController.m +++ b/Juick/ViewControllers/DiscoverViewController.m @@ -74,6 +74,10 @@ AppDelegate *appDelegate; } } - (IBAction)filterAction:(id)sender { + if (![User isAuthenticated]) { + [self performSegueWithIdentifier:@"loginSegue" sender:self]; + return; + } UIAlertController *filterAlert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; [filterAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]]; [filterAlert addAction:[UIAlertAction actionWithTitle:@"My feed" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { diff --git a/Juick/ViewControllers/LoginViewController.h b/Juick/ViewControllers/LoginViewController.h index baf71db..18ca4a4 100644 --- a/Juick/ViewControllers/LoginViewController.h +++ b/Juick/ViewControllers/LoginViewController.h @@ -13,4 +13,5 @@ @property (weak, nonatomic) IBOutlet UITextField *usernameField; @property (weak, nonatomic) IBOutlet UITextField *passwordField; @property (weak, nonatomic) IBOutlet UIVisualEffectView *visualEffectView; +@property (strong, nonatomic) IBOutlet NSLayoutConstraint *bottomConstraint; @end diff --git a/Juick/ViewControllers/LoginViewController.m b/Juick/ViewControllers/LoginViewController.m index 4f63e44..fd3c2b0 100644 --- a/Juick/ViewControllers/LoginViewController.m +++ b/Juick/ViewControllers/LoginViewController.m @@ -12,6 +12,10 @@ #import "AppDelegate.h" #import "APIClient.h" +@interface LoginViewController() +@property (nonatomic, assign) int paddingValue; +@end + @implementation LoginViewController - (void) awakeFromNib { @@ -26,6 +30,18 @@ target:self action:@selector(doneSignIn)]; self.usernameField.text = [[PDKeychainBindings sharedKeychainBindings] stringForKey:@"com.juick.username"]; self.passwordField.text = [[PDKeychainBindings sharedKeychainBindings] stringForKey:@"com.juick.password"]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; +} + +-(void) keyboardDidShow:(NSNotification *)sender { + CGRect keyboardRect = [sender.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; + self.bottomConstraint.constant = keyboardRect.size.height - self.view.safeAreaInsets.bottom + self.paddingValue; + [self.view layoutIfNeeded]; +} +-(void) keyboardWillHide:(NSNotification *)sender { + self.bottomConstraint.constant = self.paddingValue; + [self.view layoutIfNeeded]; } -- cgit v1.2.3