美文网首页
关于UITextField和模拟器快捷键

关于UITextField和模拟器快捷键

作者: 大荣纸 | 来源:发表于2017-04-13 16:04 被阅读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

    相关文章

      网友评论

          本文标题:关于UITextField和模拟器快捷键

          本文链接:https://www.haomeiwen.com/subject/gmlbattx.html