你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> iOS開發UI篇―實現一個私人通訊錄小應用(一)

iOS開發UI篇―實現一個私人通訊錄小應用(一)

編輯:關於IOS

一、該部分主要完成內容

  1.界面搭建                            2.功能說明   (1).只有當賬號和密碼輸入框都有值的時候,登錄按鈕才能交互   (2).當取消勾選記住密碼後,自動登錄按鈕也隨之取消;當勾選了自動登錄按鈕時,記住密碼按鈕也一同勾選。   (3).點擊登陸後,彈出蒙版,界面不可交互,程序能夠簡單判斷賬號和密碼是否正確,如果不正確則給出相應的提示,如果正確則跳轉到聯系人列表界面。   二、實現過程和代碼   項目文件結構圖和界面搭建       實現代碼:   YYloginViewController.m文件   復制代碼   1 //   2 //  YYloginViewController.m   3 //  01-私人通訊錄(登錄頁面搭建)   4 //   5 //  Created by apple on 14-6-6.   6 //  Copyright (c) 2014年 itcase. All rights reserved.   7 //   8    9 #import "YYloginViewController.h"  10 #import "MBProgressHUD+NJ.h"  11   12 @interface YYloginViewController ()  13 /**  14  *  賬戶輸入框  15  */  16 @property (weak, nonatomic) IBOutlet UITextField *numberField;  17 /**  18  *  密碼輸入框  19  */  20 @property (weak, nonatomic) IBOutlet UITextField *pwdField;  21 /**  22  *  登錄按鈕  23  */  24 @property (weak, nonatomic) IBOutlet UIButton *loginBtn;  25 /**  26  *  記住密碼  27  */  28 @property (weak, nonatomic) IBOutlet UISwitch *rempwdSwitch;  29 /**  30  *  自動登錄  31  */  32 @property (weak, nonatomic) IBOutlet UISwitch *autoLoginSwitch;  33 /**  34  *記住密碼按鈕  35  */  36 - (IBAction)rempwdChange:(id)sender;  37 /**  38  *自動登錄按鈕  39  */  40 - (IBAction)autoLoginChange:(id)sender;  41 /**  42  *登錄按鈕的點擊事件  43  */  44 - (IBAction)loginBtnOnclick:(id)sender;  45   46 @end  47   48 @implementation YYloginViewController  49   50 - (void)viewDidLoad  51 {  52     [super viewDidLoad];  53       54     //監聽文本輸入框的改變  55     //1.獲得通知中心  56     NSNotificationCenter *center=[NSNotificationCenter defaultCenter];  57     //2.注冊監聽  58     //注意:一定要寫上通知的發布者,否則如果該界面上有多個文本輸入框的話,都會響應  59     //UITextFieldTextDidChangeNotification監聽的事件:文本輸入框的內容發生改變  60     //self.numberField:監聽的對象  61     //textChange:當事件發生時調用的方法  62     [center addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.numberField];  63     [center addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.pwdField];  64 }  65   66   67 //監聽文本輸入框的狀態,當兩個文本輸入框中都有值的時候,讓登錄按鈕的狀態變為可交互的  68 -(void)textChange  69 {  70 //    if (self.numberField.text.length>0&&self.pwdField.text.length>0) {  71 //        self.loginBtn.enabled=YES;  72 //    }else  73 //        //這裡主要針對數據回刪  74 //        self.loginBtn.enabled=NO;  75       76     //可以改寫為下面的寫法  77     self.loginBtn.enabled=(self.numberField.text.length>0&&self.pwdField.text.length>0);  78 }  79   80 - (IBAction)rempwdChange:(id)sender {  81 //1.判斷是否記住密碼  82 //2.如果取消記住密碼,則同時取消自動登錄  83     if (self.rempwdSwitch.isOn==NO) {  84 //        self.autoLoginSwitch.on=NO;  85         //設置動畫效果  86         [self.autoLoginSwitch setOn:NO animated:YES];  87     }  88 }  89   90 - (IBAction)autoLoginChange:(id)sender {  91     //1.判斷是否自動登錄  92     //2.如果自動登錄,就記住密碼  93     if (self.autoLoginSwitch.isOn==YES) {  94         [self.rempwdSwitch setOn:YES animated:YES];  95     }  96 }  97 - (IBAction)loginBtnOnclick:(id)sender {  98     //點擊登錄按鈕,提示加載信息,並對賬號和密碼進行判斷,如果正確就跳轉到新的界面,如果不正確那就顯示提示信息  99     //這裡使用了第三方框架 100     //在點擊登錄按鈕後,添加一層蒙版以禁止用戶操作,並且提示用戶正在登錄 101     [MBProgressHUD showMessage:@"正在努力加載....."]; 102     //讓後面的操作在3秒鐘之後再執行 103     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 104         if (![self.numberField.text isEqualToString:@"YY"]) { 105             //登錄操作後,取出蒙版 106             [MBProgressHUD hideHUD]; 107             //輸入賬號不正確,則提示錯誤信息 108             [MBProgressHUD showError:@"輸入的賬號不存在!"]; 109             return; 110         } 111         if (![self.pwdField.text isEqualToString:@"123"]) { 112             //輸入密碼不正確,則提示錯誤信息 113             [MBProgressHUD hideHUD]; 114             [MBProgressHUD showError:@"輸入的密碼不正確!"]; 115             return; 116         } 117          //如果密碼和賬號都正確的話,跳轉到新的界面 118         //移除蒙版 119         [MBProgressHUD hideHUD]; 120         //跳轉到新的界面,使用segue(需要判斷-手動) 121         [self performSegueWithIdentifier:@"login2contatc" sender:@"文頂頂"]; 122     }); 123 } 124 //在segue跳轉之前會調用這個方法,會傳入performSegueWithIdentifier方法創建好的segue對象 125 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 126 { 127     NSLog(@"%@",sender); 128     //數據的正向傳遞 129     //1.拿到目標控制器 130     UIViewController *vc=segue.destinationViewController; 131     //2.設置目標控制器的標題 132     vc.title=[NSString stringWithFormat:@"%@的聯系人列表",self.numberField.text]; 133      134     /* 135      // 執行segue的perform內部實現 136      UIViewController *sourceVc = segue.sourceViewController; 137      UINavigationController *nav = sourceVc.navigationController; 138      [nav pushViewController:segue.destinationViewController animated:YES]; 139      */ 140 } 141 @end 
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved