LoginView.h
#import <UIKit/UIKit.h>
#import "HttpWrapper.h"
#import "ASIHTTPRequest.h"
#import "ASIFormDataRequest.h"
#import "BSKeyboardControls.h"
@interface LoginView : UIViewController<HttpWrapperDelegate,UITextFieldDelegate,BSKeyboardControlsDelegate,UIScrollViewDelegate>
{
IBOutlet UITextField *txtUserName;
IBOutlet UITextField *txtPassword;
IBOutlet UIButton *btnSignIn;
IBOutlet UIButton *btnSignUp;
IBOutlet UIButton *btnRemember;
IBOutlet UIButton *btnFogotPassword;
IBOutlet UIScrollView *scrView;
ASIFormDataRequest *request;
HttpWrapper *regRequest,*loginRequest;
BOOL isRemember;
}
@property(nonatomic, strong) BSKeyboardControls *keyboardControls;
@property(nonatomic,retain)IBOutlet UITextField *txtUserName;
@property(nonatomic,retain)IBOutlet UITextField *txtPassword;
@property(nonatomic,retain)IBOutlet UIScrollView *scrView;
@end
Login.m
#import "LoginView.h"
#import "RegisterView.h"
#import "AppDelegate.h"
#import "NSString+SBJSON.h"
#import "DBHelper.h"
#import "ForgotPasswordView.h"
@interface LoginView ()
@end
@implementation LoginView
@synthesize txtPassword,txtUserName,keyboardControls,scrView;
AppDelegate *appDelegate;
DBHelper *db;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
appDelegate = [AppDelegate sharedAppDelegate];
self.title =@"Login";
// NSArray *fields = @[self.txtUserName,self.txtPassword];
// [self setKeyboardControls:[[BSKeyboardControls alloc] initWithFields:fields]];
// [self.keyboardControls setDelegate:self];
// [scrView setContentSize:CGSizeMake(320,82)];
db = [[DBHelper alloc]init];
NSString *username = [[NSUserDefaults standardUserDefaults] objectForKey:@"username"];
NSString *password = [[NSUserDefaults standardUserDefaults] objectForKey:@"password"];
if(username && password)
{
isRemember = YES;
[btnRemember setSelected:YES];
txtUserName.text = username;
txtPassword.text = password;
}
else
{
txtUserName.text = @"";
txtPassword.text = @"";
}
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
[self.navigationItem setBackBarButtonItem:barButton];
[barButton release];
// [self drawPlaceholderInRect:CGRectMake(0, 0, <#CGFloat width#>, <#CGFloat height#>)]
}
- (void) drawPlaceholderInRect:(CGRect)rect {
[[UIColor blueColor] setFill];
[[txtPassword placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]];
}
-(void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES];
}
-(IBAction)OnClickSignIn:(id)sender
{
[appDelegate addTabBarControllerInwindow];
return;
if ([txtUserName.text isEqualToString:@""] || [txtPassword.text isEqualToString:@""]) {
[appDelegate showAlertWithTitle:@"Alert" message:@"Please Enter UserName and Password"];
return;
}
if(loginRequest)
{
[loginRequest cancelRequest];
[loginRequest release];
loginRequest = nil;
}
[appDelegate showLoadingView];
loginRequest = [[HttpWrapper alloc] init];
loginRequest.delegate=self;
NSString *strUrl = [NSString stringWithFormat:@"%@?action=CheckLogin&UName=%@&Pwd=%@",API_URL,txtUserName.text,txtPassword.text];
[loginRequest requestWithMethod:@"GET" url:strUrl param:nil];
}
-(IBAction)onClickForgotPass:(id)sender
{
ForgotPasswordView *forgotPass =[[ForgotPasswordView alloc]initWithNibName:@"ForgotPasswordView" bundle:nil];
[self.navigationController pushViewController:forgotPass animated:YES];
[forgotPass release];
}
-(void) HttpWrapper:(HttpWrapper *)wrapper fetchDataFail:(NSError *)error
{
if(wrapper == loginRequest)
{
// btnLogin.enabled=YES;
}
else if(wrapper == regRequest)
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults removeObjectForKey:@"username"];
[userDefaults synchronize];
}
[appDelegate showAlertWithTitle:@"Connection" message:@"Please check internet connection"];
[appDelegate hideLoadingView];
// [activity stopAnimating];
self.view.userInteractionEnabled = YES;
// btnLogin.hidden = NO;
}
-(void) HttpWrapper:(HttpWrapper *)wrapper fetchDataSuccess:(NSString *)response
{
// btnLogin.hidden = NO;
// [activity stopAnimating];
[appDelegate hideLoadingView];
self.view.userInteractionEnabled = YES;
if(wrapper == loginRequest)
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *strUsername=[defaults objectForKey:@"username"];
if (![txtUserName.text isEqualToString:strUsername]) {
[db deleteAllPatientInfo];
}
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (isRemember) {
[userDefaults setObject:txtUserName.text forKey:@"username"];
[userDefaults setObject:txtPassword.text forKey:@"password"];
}
else{
[userDefaults removeObjectForKey:@"username"];
[userDefaults removeObjectForKey:@"password"];
[userDefaults setObject:txtUserName.text forKey:@"username"];
}
appDelegate.isLogin = YES;
[userDefaults setBool:appDelegate.isLogin forKey:@"login"];
[userDefaults synchronize];
NSLog(@"Login >fetch success %@",response);
//[appDelegate loadTabbar];
// btnLogin.enabled=YES;
NSMutableDictionary *dict= (NSMutableDictionary *)[response JSONValue];
appDelegate.dirUserInfo = dict;
if([[dict valueForKey:@"status"]integerValue] == 0){
[appDelegate showAlertWithTitle:@"Login" message:@"Invalid Login"];
[appDelegate hideLoadingView];
return;
}
appDelegate.userID=[[appDelegate.dirUserInfo valueForKey:@"userid"] intValue];
[appDelegate addTabBarControllerInwindow];
}
}
-(IBAction)onClickRemember:(id)sender
{
[btnRemember setSelected:!btnRemember.selected];
isRemember = btnRemember.selected;
}
-(IBAction)OnClickSignUp:(id)sender
{
RegisterView *objregister =[[RegisterView alloc]initWithNibName:@"RegisterView" bundle:nil];
[self.navigationController pushViewController:objregister animated:YES];
[objregister release];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
-(void) textFieldDidEndEditing:(UITextField *)textField
{
[textField resignFirstResponder];
CGPoint bottomOffset = CGPointMake(0, 0);
[scrView setContentOffset:bottomOffset animated:YES];
}
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
CGPoint offset = CGPointMake(0,0);
if (textField == txtUserName)
{
offset.y = txtUserName.frame.origin.y-10;
[scrView setContentOffset:offset animated:NO];
}
else if (textField == txtPassword)
{
offset.y = txtPassword.frame.origin.y-10;
[scrView setContentOffset:offset animated:NO];
}
// [self.keyboardControls setActiveField:textField];
}
#pragma mark Keyboard Controls Delegate
/*
-(void) keyboardControls:(BSKeyboardControls *)keyboardControls selectedField:(UIView *)field inDirection:(BSKeyboardControlsDirection)direction
{
CGPoint offset = field.frame.origin;
offset.x = 0;
offset.y -= 100;
offset.y+=self.scrView.frame.origin.y;
[self.scrView setContentOffset:offset animated:YES];
}
- (void)keyboardControlsDonePressed:(BSKeyboardControls *)keyboardControls1
{
[self.scrView setContentOffset:CGPointZero animated:YES];
[keyboardControls.activeField resignFirstResponder];
}
*/
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
No comments:
Post a Comment