关于UITextField和模拟器快捷键

2017-04-13  本文已影响19人  大荣纸

UITextField 单行文本框

核心属性:

text属性(NSString)获取用户的输入

NSLog(@"%@",self.textField.text);

关闭键盘

弹起键盘的原因:因为文本框成为了第一响应者

当用户触摸屏幕上某点之后系统做了什么?

首先,开启了查找hit-view的过程,根据触点的坐标,视图给直接子视图发hitTest消息,询问该点是否在其中,子视图发现如果点不在其中,则返回nil,如果发现点在其中,则该子视图再继续给他的所有直接子视图发hitTest消息,层层深入后,直到某一个视图不再具有子视图,但是点在它内部,则它将自己返回,于是就找到了hitView

然后,系统开始提供响应,如果该视图有响应,则执行响应代码,如果没有提供响应,则将事件传递给父视图甚至于控制器,一直到代理,如果这个链条中都没有提供响应,则该事件被抛弃

但是,如果这次触摸的点在文本框中,hitView为UITextField类型的,则不会再去一层层的找响应,而是直接让文本框成为了第一响应者,window检测到第一响应者类型是文本框时,自动弹出键盘

所以,如果想关闭键盘,让文本框放弃第一响应者身份即可

成为第一响应者(弹键盘)

[textField becomeFirstResponder] ;

释放第一响应者(关键盘)

[textField resignFirstResponder];

其它更方便关闭键盘的方式

前提:当界面上包含很多文本框时,一个一个的释放第一响应者身份比较麻烦

解决方法:设置文本框的父视图结束编辑状态即可

[view endEditing:YES];

什么时候关键盘?

时机一:点击空白处

重写控制器的touchesBegan方法即可

//关键盘的时机:触摸空白处(触摸的是控制器的view)

- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event

{

[self.view endEditing:YES];

}

时机二:点击键盘的右下角

选中textField,连线一个方法,其中,Events参数一定要选择“Did End On Exit”即可,如图:

附模拟器Simulator快捷键:

调整模拟器大小 commond + 1 或2或3或4

模拟器水平或竖直 commond + ⬅️ 或 common + ➡️

虚拟机没有home键  只能 commond shif  h

Option+Shift    可以在模拟器中调出双指拖动效果

Option      可以在模拟器中调出双指放大缩小效果

command+shift+H按两下 关闭程序

还有关于模拟器键盘快捷键:如下图

模拟器输入中文方法:

Xcode 菜单项 --> Product --> Scheme --> Edit Scheme -->  Run --> Option --> Application Region 设置为 『中国』

重新运行程序,如下图所示就可以切换输入法了

屏幕的大小:

iphone 4/4s      尺寸:3.5英寸        实际的点(大小):320*480      分辨率:640*960

iphone 5/5s      尺寸:4.0英寸        实际的点:320*568                      分辨率:640*1136

iphone6            尺寸:4.7                  实际屏幕的点:(375*667)                分辨率:750*1334

iphone Plus      尺寸:5.5                  实际:(540*960)                                分辨率:1080*1920

上一篇下一篇

猜你喜欢

热点阅读