本地?cái)?shù)據(jù)持久化登錄注冊(cè)

首先需要導(dǎo)入一個(gè)第三方的SDK? ? MBProgressHUD 拔创,為了顯示提示框,如下圖:



在viewController中寫(xiě)控件的屬性代碼:

@property(nonatomic,strong)UITextField * Account;

@property(nonatomic,strong)UITextField * passWord;

@property(nonatomic,strong)UIButton * Login;

@property(nonatomic,strong)UIButton * Register;

@property(nonatomic,strong)UISwitch * Switch;




利用封裝的方法富蓄,加載控件的初始化方法

//初始化賬號(hào)輸入框

-(UITextField*)Account

{

? ? if(!_Account)

? ? {

? ? ? ? _Account=[[UITextField alloc]initWithFrame:CGRectMake(5, 280, self.view.frame.size.width-10, 50)];


? ? ? ? _Account.borderStyle=UITextBorderStyleRoundedRect;


? ? ? ? _Account.alpha=0.5;


? ? ? ? _Account.placeholder=@"請(qǐng)輸入賬號(hào)";


? ? ? ? _Account.textAlignment=NSTextAlignmentCenter;


? ? ? ? _Account.keyboardType=UIKeyboardTypeNamePhonePad;



? ? }

? ? return _Account;

}

//初始化密碼輸入框

-(UITextField* )passWord

{

? ? if(!_passWord)

? ? {

? ? ? ? _passWord=[[UITextField alloc]initWithFrame:CGRectMake(5, 350, self.view.frame.size.width-10, 50)];


?? ? ? ? _passWord.borderStyle=UITextBorderStyleRoundedRect;


? ? ? ? _passWord.alpha=0.5;


? ? ? ? _passWord.placeholder=@"請(qǐng)輸入密碼";


? ? ? ? _passWord.secureTextEntry=YES;


? ? ? ? _passWord.textAlignment=NSTextAlignmentCenter;


? ? ? ? _passWord.keyboardType=UIKeyboardTypePhonePad;



? ? }

? ? return _passWord;

}

//初始化登錄按鈕

-(UIButton* )Login

{

? ? if(!_Login)

? ? {

? ? ? ? _Login=[[UIButton alloc]initWithFrame:CGRectMake(20,450,self.view.frame.size.width-40,50)];


? ? ? ? _Login.backgroundColor=[UIColor orangeColor];


? ? ? ? _Login.alpha=0.8;


? ? ? ? _Login.layer.cornerRadius=20;


? ? ? ? _Login.layer.masksToBounds=YES;


? ? ? ? [_Login setTitle:@"登錄" forState:UIControlStateNormal];


?? ? ? ? [_Login addTarget:self action:@selector(denglu) forControlEvents:UIControlEventTouchUpInside];


? ? }

? ? return _Login;

}

//初始化注冊(cè)按鈕

-(UIButton* )Register

{

? ? if(!_Register)

? ? {

? ? ? ? _Register=[[UIButton alloc]initWithFrame:CGRectMake(350,750,self.view.frame.size.width-350,40)];


? ? ? ? [_Register setTitle:@"注冊(cè)" forState:UIControlStateNormal];


? ? ? ? [_Register setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];


? ? ? ? [_Register addTarget:self action:@selector(zhuce) forControlEvents:UIControlEventTouchUpInside];


?? ? ? // _Register.backgroundColor=[UIColor redColor];


? ? }

? ? return _Register;

}

//初始化開(kāi)關(guān)

-(UISwitch* )Switch

{

? ? if(!_Switch)

? ? {

? ? ? ? _Switch=[[UISwitch alloc]initWithFrame:CGRectMake(5, 750, 100, 40)];


? ? ? ? [_Switch addTarget:self action:@selector(changeColor:) forControlEvents:UIControlEventValueChanged];

? ? }

? ? return _Switch;

}



在viewDidLoad中添加控件到主視圖:

//添加賬號(hào)文本框

? ? [self.view? addSubview:self.Account];


? ? //添加密碼文本框

? ? [self.view? addSubview:self.passWord];


? ? //添加登錄按鈕

? ? [self.view? addSubview:self.Login];


? ? //添加注冊(cè)按鈕

? ? [self.view? addSubview:self.Register];



? ? //添加開(kāi)關(guān)

? ? [self.view? addSubview:self.Switch];


可以設(shè)置一些界面的效果:

//導(dǎo)航不透明

? ? self.navigationController.navigationBar.translucent=NO;

? ? self.view.backgroundColor=[UIColor whiteColor];


? ? //標(biāo)題

? ? self.navigationItem.title=@"登錄界面";


? ? //背景視圖

? ? UIImageView * imgv=[[UIImageView alloc]initWithFrame:self.view.frame];


? ? imgv.image=[UIImage? imageNamed:@"16.jpeg"];


? ? imgv.alpha=0.5;


? ? [self.view? addSubview:imgv];



? ? //頭像視圖

? ? UIImageView * touImgv=[[UIImageView alloc]initWithFrame:CGRectMake((self.view.frame.size.width-100)/2, 100, 100, 100)];


? ? touImgv.layer.cornerRadius=50;


? ? touImgv.layer.masksToBounds=YES;


? ? touImgv.image=[UIImage imageNamed:@"12.jpg"];


? ? [self.view? addSubview:touImgv];



寫(xiě)點(diǎn)擊和注冊(cè)的方法:


//實(shí)現(xiàn)注冊(cè)點(diǎn)擊方法

-(void)zhuce

{

? ? ZCViewController * zc=[ZCViewController new];




? ? [self.navigationController pushViewController:zc animated:YES];



}


//實(shí)現(xiàn)登錄點(diǎn)擊方法

-(void)denglu

{

? ? //創(chuàng)建NSUserDefaults對(duì)象

? ? NSUserDefaults * userDes=[NSUserDefaults standardUserDefaults];


? ? //獲取NSUserDefaults的賬戶

? ? NSString* user = [userDes objectForKey:@"account"];


? ? NSString* pass=[userDes objectForKey:@"password"];




? ? //判斷是否成功? 如果user剩燥,pass和輸入框的文字相同,則登錄成功立倍,否則登錄失敗

? ? if([self.Account.text isEqualToString:user] &&[self.passWord.text isEqualToString:pass] )

? ? {

? ? ? ? //提示用戶登錄成功

? ? ? ? [self showMBAlertWithMessage:@"登錄成功"];

? ? }

? ? else

? ? {

? ? ? ? //提示用戶登錄失敗

? ? ? ? [self showMBAlertWithMessage:@"賬號(hào)或密碼有誤灭红,請(qǐng)重新輸入"];

? ? }


}

//實(shí)現(xiàn)開(kāi)關(guān)的方法

-(void)changeColor:(UISwitch*)Switch{

? ? if(Switch.isOn){

? ? ? ? NSLog(@"開(kāi)");

? ? }else{

? ? ? ? NSLog(@"關(guān)");

? ? }

}

//點(diǎn)擊屏幕的空白處收起鍵盤(pán)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event

{

? ? [self.view endEditing:YES];

}




// 設(shè)置第三方的顯示提示框

-(void)showMBAlertWithMessage:(NSString*)msg {

? ? MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:self.view];

? ? hud.mode = MBProgressHUDModeText; // 設(shè)置文本樣式

? ? hud.labelText= msg;? ? // 設(shè)置顯示的提示文本

? ? hud.removeFromSuperViewOnHide = YES;

? ? [self.view addSubview:hud];

? ? [hud show:YES];

? ? [hud hide:YES afterDelay:3.0];

}




我們上面代碼中寫(xiě)到跳轉(zhuǎn)頁(yè)面到ZCViewController,所以我們需要?jiǎng)?chuàng)建一個(gè)繼承與UIViewcontroller的視圖控制器:

聲明屬性:

@property(nonatomic,strong)UITextField * Account;

@property(nonatomic,strong)UITextField * passWord;

@property(nonatomic,strong)UIButton * Register;



初始化控件:

//初始化賬號(hào)輸入框

-(UITextField*)Account

{

? ? if(!_Account)

? ? {

? ? ? ? _Account=[[UITextField alloc]initWithFrame:CGRectMake(5, 100, self.view.frame.size.width-10, 50)];


? ? ? ? _Account.borderStyle=UITextBorderStyleRoundedRect;


? ? ? ? _Account.alpha=0.5;


? ? ? ? _Account.placeholder=@"請(qǐng)輸入賬號(hào)";


? ? ? ? _Account.textAlignment=NSTextAlignmentCenter;


? ? ? ? _Account.keyboardType=UIKeyboardTypeNamePhonePad;



? ? }

? ? return _Account;

}

//初始化密碼輸入框

-(UITextField* )passWord

{

? ? if(!_passWord)

? ? {

? ? ? ? _passWord=[[UITextField alloc]initWithFrame:CGRectMake(5, 160, self.view.frame.size.width-10, 50)];


? ? ? ? _passWord.borderStyle=UITextBorderStyleRoundedRect;


? ? ? ? _passWord.alpha=0.5;


? ? ? ? _passWord.placeholder=@"請(qǐng)輸入密碼";


? ? ? ? _passWord.secureTextEntry=YES;


? ? ? ? _passWord.textAlignment=NSTextAlignmentCenter;


? ? ? ? _passWord.keyboardType=UIKeyboardTypePhonePad;



? ? }

? ? return _passWord;

}

//初始化注冊(cè)按鈕

-(UIButton* )Register

{

? ? if(!_Register)

? ? {

? ? ? ? _Register=[[UIButton alloc]initWithFrame:CGRectMake(20,400,self.view.frame.size.width-40,40)];


? ? ? ? [_Register setTitle:@"注冊(cè)" forState:UIControlStateNormal];


? ? ? ? [_Register setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];


? ? ? ? [_Register addTarget:self action:@selector(zhuce) forControlEvents:UIControlEventTouchUpInside];


?? ? ? ? _Register.backgroundColor=[UIColor greenColor];


? ? ? ? _Register.layer.cornerRadius=20;


? ? ? ? _Register.layer.masksToBounds=YES;


? ? ? ? [_Register setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

}

? ? return _Register;

}



在viewDidLoad中寫(xiě):

//設(shè)置頁(yè)面的背景顏色

? ? self.view.backgroundColor=[UIColor whiteColor];


? ? //設(shè)置標(biāo)題

? ? self.navigationItem.title=@"注冊(cè)";


? ? //添加賬號(hào)文本框

? ? [self.view addSubview:self.Account];


? ? //添加密碼文本框

? ? [self.view addSubview:self.passWord];


? ? //添加注冊(cè)按鈕

? ? [self.view addSubview:self.Register];



接下里實(shí)現(xiàn)點(diǎn)擊注冊(cè)的方法:

//實(shí)現(xiàn)注冊(cè)點(diǎn)擊方法

-(void)zhuce

{


? ? //判斷是否為空

? ? if(self.Account.text.length!=0 && self.passWord.text.length!=0)

? ? {


? ? ? ? //獲取輸入框的內(nèi)容

? ? ? ? NSString* userStr=self.Account.text;


? ? ? ? NSString* passStr=self.passWord.text;


? ? ? ? //將獲取的文字? 存儲(chǔ)到NSUserDefaults

? ? ? ? NSUserDefaults * userDes=[NSUserDefaults standardUserDefaults];


? ? ? ? //存儲(chǔ)數(shù)據(jù)

? ? ? ? [userDes? setObject:userStr? forKey:@"account"];


? ? ? ? [userDes? setObject:passStr? forKey:@"password"];


? ? ? ? //提示用戶注冊(cè)成功

? ? ? ? [self showMBAlertWithMessage:@"注冊(cè)成功"];


? ? }

? ? else

? ? {

? ? ? ? //提示用戶輸入內(nèi)容不能為空

? ? ? ? [self showMBAlertWithMessage:@"輸入內(nèi)容不能為空"];

? ? }


}

// 設(shè)置第三方的顯示提示框

-(void)showMBAlertWithMessage:(NSString*)msg {

? ? MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:self.view];

? ? hud.mode = MBProgressHUDModeText; // 設(shè)置文本樣式

? ? hud.labelText= msg;? ? // 設(shè)置顯示的提示文本

? ? hud.removeFromSuperViewOnHide = YES;

? ? [self.view? addSubview:hud];

? ? [hud? show:YES];

? ? [hud? hide:YES afterDelay:3.0];

}

//點(diǎn)擊屏幕的空白處收起鍵盤(pán)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event

{

? ? [self.view endEditing:YES];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末口注,一起剝皮案震驚了整個(gè)濱河市变擒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寝志,老刑警劉巖娇斑,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異材部,居然都是意外死亡毫缆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)乐导,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)苦丁,“玉大人,你說(shuō)我怎么就攤上這事兽叮》医荆” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵鹦聪,是天一觀的道長(zhǎng)账阻。 經(jīng)常有香客問(wèn)我,道長(zhǎng)泽本,這世上最難降的妖魔是什么淘太? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上蒲牧,老公的妹妹穿的比我還像新娘撇贺。我一直安慰自己,他們只是感情好冰抢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布松嘶。 她就那樣靜靜地躺著,像睡著了一般挎扰。 火紅的嫁衣襯著肌膚如雪翠订。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,985評(píng)論 1 291
  • 那天遵倦,我揣著相機(jī)與錄音尽超,去河邊找鬼。 笑死梧躺,一個(gè)胖子當(dāng)著我的面吹牛似谁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播掠哥,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼巩踏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了龙致?” 一聲冷哼從身側(cè)響起蛀缝,我...
    開(kāi)封第一講書(shū)人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤顷链,失蹤者是張志新(化名)和其女友劉穎目代,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體嗤练,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡榛了,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了煞抬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片霜大。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖革答,靈堂內(nèi)的尸體忽然破棺而出战坤,到底是詐尸還是另有隱情,我是刑警寧澤残拐,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布途茫,位于F島的核電站,受9級(jí)特大地震影響溪食,放射性物質(zhì)發(fā)生泄漏囊卜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望栅组。 院中可真熱鬧雀瓢,春花似錦、人聲如沸玉掸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)司浪。三九已至嫌蚤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間断傲,已是汗流浹背脱吱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留认罩,地道東北人箱蝠。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像垦垂,于是被迫代替她去往敵國(guó)和親宦搬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容