貓貓學IOS(七)UI之UITextField代理事件_相似QQ登錄窗口的簡單實現

貓貓分享,必須精品
素材代碼地址: http://blog.csdn.net/u013357243/article/details/44587005
原文地址:http://blog.csdn.net/u013357243/article/details/44571163 java

先看效果圖:

這裏寫圖片描述

學習代碼

//
// NYViewController.m
// 05-UITextField事件_UIKit複習
//
// Created by apple on 15-3-23.
// Copyright (c) 2015年 znycat. All rights reserved.
//

#import "NYViewController.h"

@interface NYViewController () <UITextFieldDelegate>//遵照協議,相似java中得接口
@property (weak, nonatomic) IBOutlet UITextField *userNameText;
@property (weak, nonatomic) IBOutlet UITextField *pwdText;

@end

@implementation NYViewController

/** 前幾天主要學習了:  @interface UIImage : NSObject  @interface UIControl : UIView  @interface UIImageView : UIView  @interface UILabel : UIView  @interface UIButton : UIControl  @interface UITextField : UIControl 他們的層次關係很明確了,前面主要就是這幾個類:UIView、UIControl、UIImage、UIImageView、UILabel、UIButton、UITextField。 文本框代理方法:UITextField實現代理方法。 代理的用處: 監聽那些不能經過addTarget監聽的事件! 主要用來負責在兩個對象之間,發生某些事件時,來傳遞消息或者數據 代理實現的步驟 1,成爲(子)控件的代理,————父親(控制器)成爲兒子(文本框)的代理 2,遵照協議:目的是利用智能提示快速編寫代碼 協議:<UITextFieldDelegate>(類名後面加上(不寫也能調用)) 3,實現協議方法 */


- (void)viewDidLoad
{
    [super viewDidLoad];
    //歡迎你們加貓貓微信znycat 或者QQ1764541256 ios交流學習羣:304570962
}


/**點擊登錄將輸入的文字輸出到控制檯上*/
-(IBAction)login
{

    NSLog(@"%s%@ %@", __func__, self.userNameText.text, self.pwdText.text);

}

/**文本框代理方法 */
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    NSLog(@"%@",textField.text);
    //若是光標在帳戶裏面點擊return(回車)
    if (textField == self.userNameText) {
        //讓密碼成爲第一響應者
        [self.pwdText becomeFirstResponder];
    } else if(textField == self.pwdText){
        //若是密碼輸完了,點了回車了直接調用登錄的監聽方法
        [self login];
        //讓密碼文本框關閉鍵盤
        [self resignFirstResponder];
    }


    return YES;//返回值爲YES表示能夠輸入,爲NO表示不能輸入
}

@end

代理的用處和實現過程

他們的層次關係很明確了,前面主要就是這幾個類:UIView、UIControl、UIImage、UIImageView、UILabel、UIButton、UITextField。ios

文本框代理方法:UITextField實現代理方法。設計模式

代理的用處:
監聽那些不能經過addTarget監聽的事件!
主要用來負責在兩個對象之間,發生某些事件時,來傳遞消息或者數據微信

代理實現的步驟
1,成爲(子)控件的代理,————父親(控制器)成爲兒子(文本框)的代理
2,遵照協議:目的是利用智能提示快速編寫代碼 協議:(類名後面加上(不寫也能調用))
3,實現協議方法
(其實代理模式有不少,我得理解就是本身的事情請別人來作,這是一個設計模式)markdown

我得理解是這樣的對於UITextField 這個類來講,他裏面有個_delegate(英文代理)的屬性,經過這個方法可讓他的父類UIControl來作一些動做(內部應該是由他本身作的,畢竟對於面向對象的思想來講,誰的數據誰負責,這裏實際上是將數據傳遞給了他爹)網絡

另外協議能夠不寫,由於它自己有,這裏不寫也能運行,若是錯誤了就直接崩掉了app

固然這些都能用代碼寫學習

UITextField顯示暗文_刪除小叉號

UITextField在storyboard中的設置
UITextField顯示:暗文secore勾中
storyboard中的設置
這裏寫圖片描述ui

UITextField顯示刪除小叉號:Clear Button中選中
Appears while editing就能夠顯示小叉號atom

ps:UI基礎學習看貓貓這7篇項目和文章就夠了,固然若是不懂得能夠找貓貓交流哈,喵了個咪的讓咱們一塊兒努力學習吧 ps:歡迎你們加貓貓微信znycat 或者QQ1764541256 ios交流學習羣:304570962 PS昨晚網絡斷了,素材沒有傳上去,今天剛剛傳上,話說,csdn的博客系統真的值得吐糟,喵了個咪的

相關文章
相關標籤/搜索