summaryrefslogtreecommitdiff
path: root/Juick/LoginViewController.m
diff options
context:
space:
mode:
Diffstat (limited to 'Juick/LoginViewController.m')
-rw-r--r--Juick/LoginViewController.m89
1 files changed, 89 insertions, 0 deletions
diff --git a/Juick/LoginViewController.m b/Juick/LoginViewController.m
new file mode 100644
index 0000000..7a4dbca
--- /dev/null
+++ b/Juick/LoginViewController.m
@@ -0,0 +1,89 @@
+//
+// LoginViewController.m
+// Juick
+//
+// Created by Vitaly on 30.01.14.
+// Copyright (c) 2014 com.juick. All rights reserved.
+//
+
+#import "LoginViewController.h"
+
+@implementation LoginViewController
+
+static NSString *CellIdentifier = @"CellIdentifier";
+
+-(void) viewDidLoad {
+ self.title = @"Sign in";
+ self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
+ target:self action:@selector(cancelSignIn)];
+ self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave
+ target:self action:@selector(doneSignIn)];
+}
+
+
+- (void) cancelSignIn {
+ CATransition* transition = [CATransition animation];
+ transition.duration = 0.3;
+ transition.type = kCATransitionFade;
+ transition.subtype = kCATransitionFromTop;
+
+ [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
+ [self.navigationController popViewControllerAnimated:NO];
+}
+
+- (void) doneSignIn {
+ CATransition* transition = [CATransition animation];
+ transition.duration = 0.3;
+ transition.type = kCATransitionFade;
+ transition.subtype = kCATransitionFromTop;
+
+ [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
+ [self.navigationController popToRootViewControllerAnimated:NO];
+}
+
+-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
+ NSString *key;
+ if (textField.tag == 0) {
+ // username change
+ key = @"com.juick.username";
+ } else {
+ key = @"com.juick.password";
+ }
+ [[PDKeychainBindings sharedKeychainBindings] setObject:[textField.text stringByReplacingCharactersInRange:range withString:string] forKey:key];
+ return YES;
+}
+
+- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
+ return 1;
+}
+
+-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+ return 2;
+}
+
+-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
+ if (cell == nil) {
+ cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
+ }
+ JVFloatLabeledTextField *textField = [[JVFloatLabeledTextField alloc] init];
+ textField.tag = indexPath.row;
+ textField.delegate = self;
+ if (indexPath.row == 0) {
+ textField.floatingLabel.text = @"Username";
+ textField.placeholder = @"Username";
+ textField.text = [[PDKeychainBindings sharedKeychainBindings] stringForKey:@"com.juick.username"];
+ } else {
+ textField.floatingLabel.text = @"Password";
+ textField.placeholder = @"Password";
+ textField.secureTextEntry = YES;
+ textField.text = [[PDKeychainBindings sharedKeychainBindings] stringForKey:@"com.juick.password"];
+ }
+ [cell.contentView addSubview:textField];
+ [textField makeConstraints:^(MASConstraintMaker *make) {
+ make.edges.equalTo(cell.contentView).with.insets(UIEdgeInsetsMake(5, 25, 5, 25));
+ }];
+ return cell;
+}
+
+@end