首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS UI控件了解一下

在iOS开发及测试中,除了业务逻辑和算法之外,UI控件是最重要的一部分,因此熟悉UI控件及实现原理,对于了解开发实现和测试是相当必要的,这篇文章将给大家介绍常用的UI控件及实现。...在App中UITextField出现频率也比较高; (2)iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便 你进一步操作。...在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘; (3)UITextField和UILabel相比,UILabel主要用于文字显示,不能编辑, UITextField允许用户编辑文字(输入...5)文本显示: UITextField提供了许多API方便我们控制文本的显示,包括字体颜色、对齐方式、占位符等等(详见下表) ?...(1)UIButton(按钮):是响应用户点击的控件。在App中UIButton是出现频率很高的控件; (2)UIButton与UILabel、UITextField侧重点不同,侧重于处理点按。

2.6K20

1.注册或登录页面设计:UILabel,UIButton,UITextField

学习iOS开发已经有一段时日了,之前一直没有系统的对iOS开发的相关知识进行归纳总结,导致很多知识点云里雾里在脑子里形不成iOS开发的思想,现将自己在学习过程中遇到的一些知识进行总结,希望能对iOS初学者能有一定的帮助...作为iOS开发的入门总结的第一篇,这里以最常见的注册或登陆页面设计作为开篇,这里主要会用到UILabel,UIButton,UITextField这三个控件。...一.注册或登录界面 如下图,实现了一个注册或登录界面,这里先只介绍单个页面,不介绍点击“完成”按钮后的动作,在之后的系列《iOS开发入门总结》中会逐步介绍,等基础知识介绍的差不多了,就可以以一个完整的注册系统作为小结...说明: 这里为了展现UITextField的文本框关联键盘的设置,这里把“密码”和“确定密码”的关联键盘都设置为数字键盘,实际应用中密码一般都允许为数字或字母。 实现了键盘收回操作。...text.textAlignment = UITextAlignmentLeft; //内容的垂直对齐方式 UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment

2.4K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS学习——键盘弹出遮挡输入框问题解决方案

    在iOS或Android等移动端开发过程中,经常遇到很多需要我们输入信息的情况,例如登录时要输入账号密码、查询时要输入查询信息、注册或申请时需要填写一些信息等都是通过我们键盘来进行输入的,在iOS开发过程中...在UITextFieldDelegate的官方文档中解释道:我们可以通过代理中的一些方法实现UITextField对键盘的调用,从而实现和用户进行交互的方法,此外,还可控制UITextField的输入过程...关于收起键盘,我们通常有两种做法如下: 一是通过我们的键盘上的【return/完成】按键的点击事件来设置 二是设置点击空白处就收起键盘,这种方法现在比较普遍   这两种做法在UITextField和UITextView...  还是在之前的分析中,我们知道在键盘弹出和收起时,系统都会发出对应的通知,所以我们可以在收到键盘弹出的时候判断键盘的位置和当前输入文本框的位置,如果有遮挡,就将当前视图进行一个向上平移,在收到键盘回收的通知时就平移到原先的位置...,然后在键盘弹出时通过为止比较确定是否平移,以及平移的offset。

    3.7K60

    【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    ; -- 高亮 : UI 控件突出显示, 处于高亮状态; 手放在按钮上处于高亮状态; -- 禁用 : UI 控件关闭后, 处于禁用状态; 禁用状态的控件不可操作, 禁用操作在 Interface Builder...触摸背景关闭虚拟键盘 (1) 修改 Custom Class  修改背景类别 :  -- 修改原因 : 默认的背景控件时 UIView, 该控件没有 IBAction 事件, 因此需要将背景控件设置为...UITextView 虚拟键盘关闭 (1) 需求分析 UITextView 与 UITextField 中使用的虚拟键盘对比 :  -- UITextField 虚拟键盘 : 右下角的键是 Done,...; (2) 点击背景控件关闭虚拟键盘 点击背景控件关闭虚拟键盘 :  -- 1....Done 即可关闭按钮; (4) 自定义键盘附件关闭虚拟键盘 自定义键盘附件 :  -- 作用 : 不是所有的应用都有导航栏, 在没有导航栏的应用中, 需要有键盘附件来关闭键盘; -- 1.

    6.9K20

    iOS 键盘删除键响应

    iOS 键盘删除键响应 背景 背景是,实现一个分享到微信,多选加输入框,点击键盘删除键,删除多选选中对象的东西。...,当当前字符串为空且要替换字符串为空时,说明是点击的删除按钮,通过Block方法回掉出去,代码如下: - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange...然后,笔者就查了一下,可以通过runtime,来获取到deleteBackward事件,通过hook此事件,可以获取到点击键盘删除按钮的事件,代码如下: // UITextField+BackSpace.h...测试后可以发现点击键盘删除键时,代理方法确实响应了,代码如下: @interface TargetView () @property (nonatomic, strong...点击删除,字符和多选一同被删除了,而我们需要的时,在最后一个字符删除后,再次点击删除才应该操作多选。

    30820

    iOS-UITextField 全面解析iOS中UITextField 使用全面解析UITextField的代理方法通知UITextField 在storyboard 中设置属性

    iOS中UITextField 使用全面解析 建议收藏,用到的时候来这里一查就都明白了 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField...= self;  声明text的代理是我,我会去实现把键盘往下收的方法 这个方法在UITextFieldDelegate里所以我们要采用UITextFieldDelegate这个协议 - (void)...//开始编辑时触发,文本字段将成为first responder } - (BOOL)textFieldShouldReturn:(UITextField *)textField { // 当点击键盘的返回键...2、Placeholder : 可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。当这个文本框中输入了数据时,用于提示的灰色的字将会自动消失。...18、Auto-enable Return Key : 如选择此项,则只有至少在文本框输入一个字符后键盘的返回键才有效。

    7.3K60

    iOS键盘、选取器上的工具栏

    前言 我们在使用键盘的时候,在打字完毕后想要收起键盘继续操作,要么是习惯性点击界面空白处收起键盘,要么是在键盘上方点击一个“完成”之类的按钮来收起键盘。...在Android上键盘的完成按钮是自带的,但是iOS没有,所以需要开发者自行添加上去一个,这里就要用到工具栏UIToolbar。...同样,在使用选取器的时候,最常见的就是选择省市区时,选择完毕后我们想要收起选取器,一种做法时点击空白界面来唤起一个响应,另一种更常见的做法还是自行添加一个工具栏上去,因为这时往往需要两个按钮,一个“取消...在键盘上添加收起按钮 先看看效果: 可以看到,在键盘上面有一条工具栏,最左边有一个小图标,是键盘形状的,点击那个图标后,就会收起键盘,这个按钮并不是自带的,是我添加上去的。...[textField isEqual:self.pickerText]) {// 避免与选取器的工具栏起冲突,只在键盘输入框时添加 //在键盘上添加toolbar工具条 点击工具条中的按钮回收键盘

    1.5K10

    iOS开发——定制UITextField

    在iOS中UITextField这个控件作为文本输入控件一定是使用率最高的几个控件之一,而iOS提供的默认的原始TextField的造型肯定在开发时很难满足我们的要求,原因很简单,不够美观,实在太单调。...今天我们主要从UITextField的键盘收起、placeholder的设置以及自定义距离、字体,以及控制输入文本时,距离UITextField边框的距离和UITextField中一些常用的方法和枚举变量等方面来阐述如何定制自己的...键盘的收起 首先我们先来看UITextField的键盘弹出和回收,UITextField在默认的情况下,键盘在输入完成后是不会自动回收的,这里我们讲解如何在按下Return键时,键盘自动回收。...placeholder的设置 在一些特定功能的文本输入框,我们常常要设置placeholder属性来指明当期UITextField的功能,例如:请在此处输入密码。...,同时要注意的一点是,在设置了placeholder的位置之后,我们也要相应的调整文本显示的位置,以及在编辑完成后,文本显示在输入框的位置。

    1.6K40

    iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

    最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的...这个问题在之前我们的随笔iOS学习——键盘弹出遮挡输入框问题解决方案中也有讲过对应的解决方案,但是该方案在最近的应用中还有点小问题,我们在这里重新进行处理好。...,首先,我们再主控制器中定义几个属性来保存我们键盘弹出时tableview的contentOffset以及当前编辑cell的frame,然后在应用自定义cell时设定我们的两个回调block,当开始编辑时...  在前面的2.1的UITextField或UITextView点击之后的详细流程分析中我们知道,在点击文本之后弹出键盘时会发送一个UIKeyboardWillShowNotification的通知,...,和弹出键盘相对,弹出键盘时我们保存了弹出键盘之前tableview的contentOffset的偏移量,所以,在收起键盘后,我们将tableview的contentOffset值设为弹出之前的值就可以了

    3.9K80

    iOS UITextField 使用与方法解读

    UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等。...(nonatomic,copy)  NSAttributedString  *attributedPlaceholder; 设置是否在开始编辑时清空输入框内容 @property(nonatomic)...*inputAccessoryView; 这个属性设置是否允许再次编辑时在内容中间插入内容 @property(nonatomic) BOOL clearsOnInsertion; 注销第一响应(収键盘...) - (BOOL)endEditing:(BOOL)force; UITextFieldDelegate 代理中的方法 点击输入框时触发的方法,返回YES则可以进入编辑状态,NO则不能。...:(NSString *)string;   点击清除按钮时调用的函数,返回YES则可以清除,点击NO则不能清除 - (BOOL)textFieldShouldClear:(UITextField *)

    1.2K10

    【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

    Software Keyboard 选项 激活; 9.设置软键盘类型 : 设置 TextField 控件的 Keyboard Type 属性; 10.退出软键盘 : ① 谁触发谁关闭 调用UITextField...weak) IBOutlet UILabel* resultLabel; , 除了类型 UILabel 与上面不同之外 其它一样; ---- ( 6 ) 软键盘设置 软键盘设置 : 1.虚拟机软键盘弹出设置..., 设置其中的 keyboard Type, 设置为 Number Pad 数字键盘; 3.退出软键盘方式 : 两种方式 ① 哪个 TextField 触发的, 通过对应的 TextField...控件 关闭键盘; ② 通过 父控件 关闭 软键盘; ① 谁触发谁关闭 : 调用控件的 resignFirstResponder 方法 退出软键盘, 该方法只能关闭控件本身触发的软键盘, 示例 [...方法关闭软键盘; 代码 [self.view endEditing:YES] 关闭 view 控件 及其 子控件 触发的软键盘; ---- ( 7 ) 实现加法逻辑 实现计算逻辑 : 1.实现位置 :

    5K30

    ios学习——键盘的收起

    在开发过程中,我们经常会用到UITextField、UITextView等文本框,然后这些文本框在点击之后会自动成为第一响应者(FirstResponder),并自动弹出软键盘。...然而,没有自动定义好的软键盘的回收。今天,我在开发过程中就遇到了这个问题,首先,软键盘收起会发生在两种情况下,一是当前区域为非第一响应者,二是当前区域的输入结束。...具体解决方案有两种: 1、在当前页面设置点击事件,当点击事件发生时,注销当前视图的第一响应者或者设置当前摄入结束。...当点击事件发生在非选中区域时,则键盘会自动回收: 1 //在viewDidLoad中 添加点击手势,为了关闭键盘的操作 2 UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer...2、利用键盘上的 回车键 来进行设置当前UITextField、UITextView等文本框不是第一响应者,这种方法对UITextField、UITextView的应用不一样,需要区别进行。

    1.9K60

    客户一个无厘头的BUG ,让我的青春痘炸了2颗

    系统:IOS9.3.1 # 手机卡:移动运营商 151开头 # 重新概率:该用户手机百分分必现,其它手机暂无人员反馈 # 模块:登录页 # 测试场景:打开登录页--->点击文本输入框--->触发数字类型键盘...描述 该bug 客户重进多次手机百分百必现,然后前端校验只允许输入数字;然后用户都未触发登录,想从数据如何传入到数据库等方式去查看也行不通; 后来我咨询我身边的前端,说有可能是前端代码哪里写了该几个字,...06 原来这个用户在设置-》通用-》键盘-》文本替换把自己的手机号设置自己的文本,这样只要在UITextField中输入自己的手机号,输入完就会变成自己的名字,出现上图的情况。...但是后来我在想前端不是做了 正则表达式的校验,就算手机设置了替换,中文也不应该展示出来啊 最后毛豆拿着自己的IOS手机去发现该问题,按照操作在设置-》通用-》键盘-》文本替换把自己的手机号设置自己的名字了...,这样只要在UITextField中输入自己的手机号,输入完就会变成自己的名字,出现上图的情况。

    49910

    UI篇-UIResponder之事件传递和响应精析

    分别有多点触控、摇一摇以及远程操作(在iOS之后新增了3DTouch事件类型)。在一个用户点击事件处理过程中,UIEvent对象是唯一的。...响应者链:由一系列“下一个响应者”组成 其顺序如下: 1.iOS系统在处理事件时,通过UIApplication对象和每个UIWindow对象的sendEvent:方法将事件以消息的形式分发给具体处理此事件的第一响应者...在一定的时间内关闭事件的传递。...前一个方法使应用程序完全停止接收触摸事件消息,第二个方法则重启消息的接收。某些时候,当您的代码正在执行动画时,可能希望关闭事件的传递。...我们在使用UITextView和UITextField的时候,可以通过它们的inputAccessoryView属性给输入时呼出的键盘加一个附属视图,通常是UIToolBar,用于回收键盘。

    2.5K30

    【IOS开发基础系列】UIAlertController专题

    创建上拉菜单的方式和创建对话框的方式非常类似,唯一的区别是它们的形式。     ...类同样也是在iOS 8中新出现的类,用来替换UIPopoverController的。...3 开发技巧 3.1 常见问题 3.1.1 集成键盘监听后,重复进入页面挂机问题         在项目中,由于自定义AlertView中有用到textfield,故AlertView中添加了键盘显示隐藏的通知监听...具体表现是:在项目中,自定义AlertView实例的生命周期是在plugin中管理的,plugin差不多是单例模式,故自定义AlertView实例不会轻易释放,只有下一次调用插件时,实例进行替换时才会将上一实例释放...若不及时移除上一个实例监听,便会添加两次监听,但是键盘通知回调时,由于上一实例被释放了,便会在IOS8.0上报找不到对象实例的错误。

    60530

    NSNotificationCenter 通知的使用方法详解你要知道的KVC、KVO、Delegate、Notification都在这里

    NSNotificationCenter通知中心是iOS程序内部的一种消息广播的实现机制,可以在不同对象之间发送通知进而实现通信,通知中心采用的是一对多的方式,一个对象发送的通知可以被多个对象接收,这一点与我们前面讲解的...,在ViewController中有一个按钮和一个标签,点击按钮跳转到NextViewController视图中,NextViewController中包含一个输入框和一个按钮,用户在完成输入后点击按钮退出视图跳转回...以后似乎变得不那么重要,iOS9开始不再对已经销毁的监听器发送通知,当监听器对象销毁后发送通知也不会造成野指针错误,这一点比KVO更加安全,KVO在监听器对象销毁后仍会触发回调函数就可能造成野指针错误,...,或是系统提供的通知,我们无法预知这些通知是否是在主线程中发送的,为了安全起见最好在需要更新UI时使用GCD将更新的逻辑放入主线程执行。...系统提供了很多各式各样的通知,比如当我们要实现IM即时通讯类app的聊天页面输入框时就可以使用系统键盘发出的通知,相关通知有UIKeyboardWillShowNotification和UIKeyboardWillHideNotification

    2.3K60

    iOS学习——UIAlertController详解

    在开发中,弹出提示框是必不可少的。...这两天项目中统一对已经被iOS API废弃的UIAlertView和UIActionSheet进行替换,我们知道,UIAlertView和UIActionSheet都已经被iOS的API所废弃了。...UIAlertController是在iOS8.0中出现的一种统一的提示风格的界面,代替原来的UIAlertView和UIActionSheet两种类别。...,我们常用的配置有两类,一是根据需要添加按钮,并味蕾个按钮添加点击事件;二是根据需要添加文本框,用于和用户进行更多的交互。...时才有 文本框的添加多个 我们可以看到,在配置文本框这里还有一个参数是textFields,这各参数是一个只读数组类型,用于获取UIAlertController提示器上所有的文本框对象,这个经常在我们点击按钮时用这个来获取到每一个文本框

    3.4K170
    领券