AJ分享,必须精品

先看效果图:

学习代码

//
// 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]; } /**点击登陆将输入的文字输出到控制台上*/
-(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勾中

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

AJ学IOS(07)UI之UITextField代理事件_类似QQ登陆窗口的简单实现的更多相关文章

  1. AJ学IOS(28)UI之Quartz2D简单介绍

    AJ分享,必须精品 iOS开发UI篇—Quartz2D简单介绍 什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : ...

  2. AJ学IOS(18)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复

    AJ分享,必须精品 先看图片 第一步完成tableView和Cell的架子的图 完善图片 键盘弹出设置后图片: 自动回复图: 粗狂的架子 tableView和Cell的创建 首相tableView为了 ...

  3. AJ学IOS(13)UI之UITableView学习(下)汽车名牌带右侧索引

    AJ分享,必须精品 先看效果图 代码 ViewController #import "NYViewController.h" #import "NYCarGroup.h& ...

  4. AJ学IOS(03)UI之纯代码实现UI——图片查看器

    AJ分享,必须精品 先看效果 主要实现类似看新闻的一个界面,不用拖拽,纯代码手工写. 首先分析app可以很容易知道他这里有两个UILabel一个UIImageView还有两个UIButton 定义UI ...

  5. AJ学IOS 之微博项目实战(2)微博主框架-自定义导航控制器NavigationController

    AJ分享,必须精品 一:添加导航控制器 上一篇博客完成了对底部的TabBar的设置,这一章我们完成自定义导航控制器(NYNavigationController). 为啥要做自定义呢,因为为了更好地封 ...

  6. AJ学IOS(35)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。

    AJ分享,必须精品 效果: 实现步骤 其实这个实现起来不难 第一步先放好主要的UI,一张背景图和一个View 第二部就是把9个button放到view中,设置好按钮的默认和选中图片. 注意:创建时候的 ...

  7. AJ学IOS(09)UI之UIScrollView代理触摸实现_图片缩放

    AJ分享,必须精品 先看效果 代码 // // NYViewController.m // 05-放大缩小图片UIScrollView // // Created by apple on 15-3-2 ...

  8. AJ学IOS(01) UI之Hello World与加法计算器

    不多说,AJ分享,必须精品 这两个一个是HelloWorld(左边) 另一个是 加法计算器(右边)的截图. 先运行第一个 程序看看效果 1.打开Xcode(没有哦mac系统的没有xcode的帮你们默哀 ...

  9. AJ学IOS(42)UI之核心动画CAAnimationGroup以及其他

    AJ分享,必须精品 效果: 代码: 很简单,不多说,就是把一堆动画放一起,看代码. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent * ...

随机推荐

  1. 你不一定知道的UrlPrefix路由规则

    引言 接上文,容器内web程序一般会绑定到http://0.0.0.0:{某监听端口}或http://+:{某监听端口},以确保使用容器IP可以访问到web应用. 正如我们在ASP.NET Core官 ...

  2. Element没更新了?Element没更新,基于El的扩展库更新

    think-vuele 基于Vue和ElementUI框架进行整合二次开发的一个框架.提供一些elementUI没有的或当时没有的控件.优化了或简化了便于2B软件开发的一些控件 demo:http:/ ...

  3. Spring Boot入门系列(九)如何实现异步执行任务

    前面介绍了Spring Boot 如何整合定时任务,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.htm ...

  4. hdu1732 Pushbox bfs 细节比较多,需要注意

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1732/ 题目就是推箱子游戏,有三个箱子和三个洞,最终目标状态就是三个箱子到三个洞中,所以我们搜索的状态就是人的位 ...

  5. PHP一致性hash

    PHP提供了两种比较两个变量的方法: 松散比较使用 == or != : 两个变量都具有“相同的值”. 严格比较 === or !== : 两个变量都具有“相同的类型和相同的值”. 类型杂耍 真实陈述 ...

  6. 从零开始的JSON库

    从零开始的JSON库 项目地址 jsoncpp ,此项目受到 leptjson 启发,实现了最基本的功能,仅作学习使用. 提供简单的 parse() 和 generate() 方法将 JSON 文本解 ...

  7. Redis 集群--------Redis-cluster

    1集群方案 1.官方方案redis-cluster搭建实战 2.客户端分片技术(不推荐),扩容/缩容时,必须手动调整分片程序,出现故障不能自动转移 3.可以使用主从复制方式(不推荐) 4.使用一些代理 ...

  8. Redis启动出现creating server tcp listening socket错误

    错误如图所示 解决方法 在命令行中运行 redis-cli.exe 127.0.0.1:6379>shutdown not connected>exit 然后重新运行redis-serve ...

  9. .git/info/refs not valid: is this a git repository?

    今天用idea git提交的时候遇到了这个神奇的问题.git/info/refs not valid: is this a git repository? 看了很多网上的都不靠谱,最后自己乱点着找, ...

  10. python:列表切片知识的总结

    列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点: ①.切片区间是左闭右开区间 ②.切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数 ③.默认步长是1,可增加第三 ...