065监视文本输入框的状态

效果如下:

ViewController.h

1 #import <UIKit/UIKit.h>
2
3 @interface ViewController : UIViewController<UITextFieldDelegate>
4 @property (strong, nonatomic) UITextField *txtFMessage;
5
6 @end

ViewController.m

 1 #import "ViewController.h"
 2
 3 @interface ViewController ()
 4 - (void)layoutUI;
 5 @end
 6
 7 @implementation ViewController
 8
 9 - (void)viewDidLoad {
10     [super viewDidLoad];
11
12     [self layoutUI];
13 }
14
15 - (void)didReceiveMemoryWarning {
16     [super didReceiveMemoryWarning];
17     // Dispose of any resources that can be recreated.
18 }
19
20 - (void)layoutUI {
21     _txtFMessage = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 320, 80)];
22     _txtFMessage.center = self.view.center;
23     _txtFMessage.borderStyle = UITextBorderStyleRoundedRect;
24     _txtFMessage.text = @"通过NSLog确认delegate的设置";
25     _txtFMessage.textColor = [UIColor colorWithRed:0.342 green:1.000 blue:0.659 alpha:1.000];
26     _txtFMessage.textAlignment = NSTextAlignmentLeft;
27     _txtFMessage.contentHorizontalAlignment = UIControlContentVerticalAlignmentBottom;
28
29     //设置delegate
30     _txtFMessage.delegate = self;
31     _txtFMessage.clearButtonMode = UITextFieldViewModeAlways;
32     [self.view addSubview:_txtFMessage];
33
34     UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard:)];
35     [self.view addGestureRecognizer:gestureRecognizer];
36 }
37
38 /**
39  *  隐藏键盘
40  *
41  *  @param sender 事件触发者
42  */
43 - (IBAction)hideKeyboard:(id)sender {
44     NSLog(@"Tap Gesture Recognizer,去掉某些控件作为第一响应器");
45     [_txtFMessage resignFirstResponder];
46 }
47
48 #pragma mark - TextField
49 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
50     NSLog(@"textFieldShouldBeginEditing: %@", textField.text);
51     return YES;
52 }
53
54 - (void)textFieldDidBeginEditing:(UITextField *)textField {
55     NSLog(@"textFieldDidBeginEditing: %@", textField.text);
56 }
57
58 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
59     NSLog(@"textFieldShouldEndEditing: %@", textField.text);
60     return YES;
61 }
62
63 - (void)textFieldDidEndEditing:(UITextField *)textField {
64     NSLog(@"textFieldDidEndEditing: %@", textField.text);
65 }
66
67 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
68     NSLog(@"shouldChangeCharactersInRange: %@", string);
69     return YES;
70 }
71
72 - (BOOL)textFieldShouldClear:(UITextField *)textField {
73     NSLog(@"textFieldShouldClear: %@", textField.text);
74     return YES;
75 }
76
77 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
78     NSLog(@"textFieldShouldReturn: %@", textField.text);
79     return YES;
80 }
81
82 @end

输出结果:

 1 2015-04-14 00:53:40.611 FirstBook065[1147:82365] Tap Gesture Recognizer,去掉某些控件作为第一响应器
 2 2015-04-14 00:53:45.359 FirstBook065[1147:82365] textFieldShouldBeginEditing: 通过NSLog确认delegate的设置
 3 2015-04-14 00:53:45.367 FirstBook065[1147:82365] textFieldDidBeginEditing: 通过NSLog确认delegate的设置
 4 2015-04-14 00:53:48.952 FirstBook065[1147:82365] textFieldShouldClear: 通过NSLog确认delegate的设置
 5 2015-04-14 00:53:51.164 FirstBook065[1147:82365] shouldChangeCharactersInRange: w
 6 2015-04-14 00:53:51.274 FirstBook065[1147:82365] shouldChangeCharactersInRange: e
 7 2015-04-14 00:53:59.771 FirstBook065[1147:82365] textFieldShouldReturn: 为什么我
 8 2015-04-14 00:54:04.832 FirstBook065[1147:82365] shouldChangeCharactersInRange: w
 9 2015-04-14 00:54:05.242 FirstBook065[1147:82365] shouldChangeCharactersInRange: w
10 2015-04-14 00:54:14.043 FirstBook065[1147:82365] textFieldShouldReturn: 为什么我ww
11 2015-04-14 00:54:15.889 FirstBook065[1147:82365] Tap Gesture Recognizer,去掉某些控件作为第一响应器
12 2015-04-14 00:54:15.889 FirstBook065[1147:82365] textFieldShouldEndEditing: 为什么我ww
13 2015-04-14 00:54:15.892 FirstBook065[1147:82365] textFieldDidEndEditing: 为什么我ww
时间: 2024-11-05 23:20:13

065监视文本输入框的状态的相关文章

Xcode--代码创建按钮,文本输入框

//创建按钮 UIButton *btn = [[UIButton alloc] init]; btn.frame = CGRectMake(0, 0, 100, 100); // 设置按钮在普通状态下的属性 // 设置背景图片 UIImage *normal = [UIImage imageNamed:@"btn_01.png"]; [btn setBackgroundImage:normal forState:UIControlStateNormal]; [btn setTitle

063为文本输入框设置背景图片

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController<UITextFieldDelegate> 4 @end ViewController.m 1 #import "ViewController.h" 2 3 @interface ViewController () 4 - (void)layoutUI; 5 @end 6

iOS自定义键盘和系统键盘切换且文本输入框一直获得焦点

UITextView用来进行文本输入.方法becomeFirstResponder和resignFirstResponder可以用来进行弹出系统键盘和收下系统键盘. 弹出系统键盘,文本输入框获得焦点.收下系统键盘,文本输入框失去焦点.那么,问题来了. 某个条件下,如点击界面上的某个按钮,展示自定义键盘.再次点击,切换到系统键盘.先收下系统键盘,再展示自定义键盘.比如移动自定义键盘View的Frame.Y.但这时因为收下系统键盘,本文输入框失去焦点.虽然展示了自定义键盘.但用户体验很不好.光标没有

java界面编程(2) ------ 按钮,文本输入框和文本区域

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 上节创建了视窗,这是其他组件的容器,这节就来创建按钮. 创建按钮,只需要在希望出现的地方调用JButton的构造器即可. JButton是一个组件,它有自己的小窗口,能作为整个更新过程的一部分而自动被重绘.也就是说,你不必显示绘制一个按钮或者别的类型的控件,只要将其放在窗体上,它们可以自动绘制自己.采用上节的例子,在其基础上修改如下: public class SwingTes

类似微信的文本输入框

本文内容比较简单,给大家介绍一下微信的文本输入框是如何实现的,其实那只是个普通的文本框设了一个特殊的背景而已.具体微信怎么实现的,大家可以反编译下,这里介绍下如何实现这个背景. 可以先看下文章末尾的效果图,里面的文本框是不是和微信的比较像啊,下面说下实现思想: 首先,这种效果用.9图我不知道是否可以做出来.如果不用.9图的话,那就只能用drawable来写,这种drawable有点复杂,可以采用LayerList来实现,我的思想如下: 分三层实现,这里假设activity的背景是白色,第一层也(

手机中点击一个链接或文本输入框出现一个半透明的背景的问题

刚开始接触移动端的开发,发现input元素在iPhone中获得焦点时会出现一个半透明的背景,如图: 要去掉这个半透明背景需要设置以下样式 -webkit-tap-highlight-color:rgba(0,0,0,0); tap-highlight-color:rgba(0,0,0,0); 补充下网上的资料说明: 当你点击一个链接或输入框元素时,就会出现一个半透明的灰色背景. tap点击,highlight背景高亮,color颜色,颜色用数值调节 手机中点击一个链接或文本输入框出现一个半透明的

IPhone手机页面中点击文本输入框,弹出键盘,网页会放大,如何解决

在head标签中加入以上meta声明.具体属性可以谷歌/百度. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 我查了下viewport,有几个属性:width - viewport的宽度 height - viewport的高度initial-scale - 初始的缩放比例minim

Text input(文本输入框)

Text input(文本输入框)是用来获得用户输入的绝佳方式. 你可以用如下方法创建: <input type="text"> 注意,input元素是自关闭的.

怎么让手机浏览器和微信焦点在文本输入框时不自动放大页面

方法一:禁止页面缩放 在head标签中加入以下代码 <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0, user-scalable=no"> content的解释 width=device-width //宽度等于设备屏幕宽度 initial-scale=1.0 //初始缩放比例 minimum-