AJ学IOS(07)UI之UITextField代理事件_类似QQ登陆窗口的简单实现
2024-09-07 04:59:54
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就可以显示小叉号
最新文章
- windows或mac上对iOS设备截图
- CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.
- 第三周作业--VS 2013 单元测试
- thinkphp计划任务使用cronRun
- 腾讯新浪通过IP地址获取当前地理位置(省份)的接口
- php 指针遍历、预定义数组和常用函数
- android bluetooth蓝牙移植
- 【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列4
- Heibernate 入门笔记(一)---第一个demo
- IEnumerable实践应用
- Discuz教程:X3.1-x3.2后台admin.php防止直接恶意访问
- Intger To Roman
- autofac使用总结
- 如何用Axure快速制作APP交互原型
- NameError:name &lsquo;xrange&rsquo; is not defined
- 包的作用域(public、private)
- 单身毒妈第一至八季/全集Weeds迅雷下载
- Centos 7 文件和目录管理
- 获取公网IP地址
- 解决Sybase PowerDesigner 数据库设计中 Name 自动填充Code