猫猫学IOS(七)UI之UITextField代理事件_类似QQ登陆窗口的简单实现

猫猫分享,必须精品
素材代码地址: http://blog.csdn.net/u013357243/article/details/44587005
原文地址:http://blog.csdn.net/u013357243/article/details/44571163

先看效果图:

这里写图片描述

学习代码

//
//  NYViewController.m
//  05-UITextField事件_UIKit复习
//
//  Created by apple on 15-3-23.
//  Copyright (c) 2015年 znycat. All rights reserved.
//#import "NYViewController.h"@interface NYViewController () //遵守协议,类似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,遵守协议:目的是利用智能提示快速编写代码 协议:(类名后面加上(不写也能调用))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。

文本框代理方法:UITextField实现代理方法。

代理的用处:
监听那些不能通过addTarget监听的事件!
主要用来负责在两个对象之间,发生某些事件时,来传递消息或者数据

代理实现的步骤
1,成为(子)控件的代理,————父亲(控制器)成为儿子(文本框)的代理
2,遵守协议:目的是利用智能提示快速编写代码 协议:(类名后面加上(不写也能调用))
3,实现协议方法
(其实代理模式有很多,我得理解就是自己的事情请别人来做,这是一个设计模式)

我得理解是这样的对于UITextField 这个类来说,他里面有个_delegate(英文代理)的属性,通过这个方法可以让他的父类UIControl来做一些动作(内部应该是由他自己做的,毕竟对于面向对象的思想来说,谁的数据谁负责,这里其实是将数据传递给了他爹)

另外协议可以不写,因为它本身有,这里不写也能运行,如果错误了就直接崩掉了

当然这些都能用代码写

UITextField显示暗文_删除小叉号

UITextField在storyboard中的设置
UITextField显示:暗文secore勾中
storyboard中的设置
这里写图片描述

UITextField显示删除小叉号:Clear Button中选中
Appears while editing就可以显示小叉号

ps:UI基础学习看猫猫这7篇项目和文章就够了,当然如果不懂得可以找猫猫交流哈,喵了个咪的让我们一起努力学习吧
ps:欢迎大家加猫猫微信znycat 或者QQ1764541256 ios交流学习群:304570962
PS昨晚网络断了,素材没有传上去,今天刚刚传上,话说,csdn的博客系统真的值得吐糟,喵了个咪的


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部