监听文本框事件几种方法总结
来源:互联网 发布:python 盲水印 编辑:程序博客网 时间:2024/05/17 07:36
宏
// 占位文字颜色#define LSLPlaceholderColorKey @"placeholderLabel.textColor"// 默认的占位文字颜色#define LSLPlaceholderDefaultColor [UIColor grayColor]// 聚焦的占位文字颜色#define LSLPlaceholderFocusColor [UIColor whiteColor]
- 实现对输入框的事件监听的4中方法
- 方法1,用代理实现,这种方式不推荐,因为delegate实现很容易被外界覆盖
@interface LSLLoginRegisterTextFiled()<UITextFieldDelegate>@end@implementation LSLLoginRegisterTextFiled- (void)awakeFromNib{ // 方法1,用代理实现,这种方式不推荐,因为delegate实现很容易被外界覆盖 self.delegate = self;}#pragma mark - (方法1,用代理实现)实现UITextFieldDelegate方法- (void)textFieldDidBeginEditing:(UITextField *)textField{ // 获得焦点时高亮 [self setValue:LSLPlaceholderFocusColor forKeyPath:LSLPlaceholderColorKey];}- (void)textFieldDidEndEditing:(UITextField *)textField{ // 失去焦点时变灰色 [self setValue:LSLPlaceholderDefaultColor forKeyPath:LSLPlaceholderColorKey];}
- 方法2,分别给文本框编辑开始和结束时绑定事件
@implementation LSLLoginRegisterTextFiled- (void)awakeFromNib{ // 方法2,分别给文本框编辑开始和结束时绑定事件 [self addTarget:self action:@selector(beginEditing) forControlEvents:UIControlEventEditingDidBegin]; [self addTarget:self action:@selector(endEditing) forControlEvents:UIControlEventEditingDidEnd];}#pragma mark - 方法2,文本框编辑开始和结束时对应的事件- (void)beginEditing{ // 获得焦点时高亮 [self setValue:LSLPlaceholderFocusColor forKeyPath:LSLPlaceholderColorKey];}- (void)endEditing{ // 失去焦点时变灰色 [self setValue:LSLPlaceholderDefaultColor forKeyPath:LSLPlaceholderColorKey];}@end
- 方法3,通过通知,监听文本框编辑开始和结束
@implementation LSLLoginRegisterTextFiled- (void)awakeFromNib{ // 方法3,通过通知,监听文本框编辑开始和结束 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(beginEditing) name:UITextFieldTextDidBeginEditingNotification object:self]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(endEditing) name:UITextFieldTextDidEndEditingNotification object:self];}#pragma mark - 方法3,文本框编辑开始和结束时对应的事件- (void)beginEditing{ // 获得焦点时高亮 [self setValue:LSLPlaceholderFocusColor forKeyPath:LSLPlaceholderColorKey];}- (void)endEditing{ // 失去焦点时变灰色 [self setValue:LSLPlaceholderDefaultColor forKeyPath:LSLPlaceholderColorKey];}#pragma mark - 一定要在对象销毁之前移除监听- (void)dealloc{ [[NSNotificationCenter defaultCenter] removeObserver:self];}@end
- 方法4,重写文本框获得焦点时的becomeFirstResponder方法和失去焦点时的resignFirstResponder方法
@implementation LSLLoginRegisterTextFiled#pragma mark - 方法4,重写文本框获得焦点时和失去焦点时的方法- (BOOL)becomeFirstResponder{ // 获得焦点时高亮 [self setValue:LSLPlaceholderFocusColor forKeyPath:LSLPlaceholderColorKey]; return [super becomeFirstResponder];}- (BOOL)resignFirstResponder{ // 失去焦点时变灰色 [self setValue:LSLPlaceholderDefaultColor forKeyPath:LSLPlaceholderColorKey]; return [super resignFirstResponder];}@end
0 0
- 监听文本框事件几种方法总结
- 添加事件监听 的几种方法
- 【Unity&事件】事件监听响应的几种方法分析研究
- 文本框可监听事件
- 事件监听之文本框
- js事件驱动中的几种绑定监听方法
- jQuery 监听修改文本框事件
- 监听文本框内容改变事件
- JavaScript监听文本框回车事件并过滤文本框空格的方法
- 监听事件的几种实现方式
- 安卓中常见的几种监听事件
- 三种方法监听事件
- 安卓开发基础:给控件设置监听事件的几种方法
- Android之EditText文本框监听事件
- jquery实现的监听文本框输入事件
- jquery监听文本框输入改变事件
- 文本框监听输入内容变化事件
- ios监听的几种方法比较
- ssh框架的搭建流程
- 五年了
- 执行 install.sh --clang-completer时候出现这种情况请问怎么处理?
- WIN7+Ubuntu双系统,出现Entering rescue mode问题
- HDU 2199 牛顿迭代
- 监听文本框事件几种方法总结
- Spark编程使用的基本指令
- 欢迎使用CSDN-markdown编辑器
- 做app的一些UI包
- nginx完美支持thinkphp3.2.2
- 二叉树的遍历
- Sqlite 清空表中所有数据 并重置自增长数据
- POJ 2823 Sliding Window(滑动窗口问题__优先队列||单调队列)
- Java研发求职指南