最近仿照支付宝登录根据账号密码TextField编辑状态改变登录按钮状态的效果封装了一个方法. 在UITextFieldDelegate的

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

方法中调用即可达到想要的效果:

封装的代码:

- (BOOL)getButtonEnableByCurrentTF:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string tfArr:(NSArray *)tfArr;{if (string.length) {// 文本增加NSMutableArray *newTFs = [NSMutableArray arrayWithArray:tfArr];[newTFs removeObject:textField];for (UITextField *tempTF in newTFs) {if (tempTF.text.length==0) return NO;}}else{// 文本删除if (textField.text.length-range.length==0) {// 当前TF文本被删完return NO;}else{NSMutableArray *newTFs = [NSMutableArray arrayWithArray:tfArr];[newTFs removeObject:textField];for (UITextField *tempTF in newTFs) {if (tempTF.text.length==0) return NO;}}}return YES;
}

调用实例:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{// 提升交互:动态设置按钮可行不可行NSArray *tfs = @[_accountTF, _pswTF];if ([self getButtonEnableByCurrentTF:textField shouldChangeCharactersInRange:range replacementString:string tfArr:tfs]) {[_loginButton changeStyleToStandard];// 置为可用}else{[_loginButton ZS_standardDisable];// 置为不可用}return YES;
}

iOS 提升交互之根据多个UITextField的编辑状态改变按钮状态相关推荐

  1. 【产品设计】Android 和 IOS 的交互设计对垒

    在手机操作系统百花齐放的年代,也是产品经理最头疼的年代,因为需要根据不同的操作系统做出不同的设计.而如今,手机操作系统基本只剩下安卓和IOS两大阵营,只需处理好安卓和IOS交互上的差异部分就可以做好产 ...

  2. 【第104期】7本适合设计师提升交互设计能力的书

    对交互感兴趣但是不知道从何学起的读者看过来,今天小编给你们分享非常值得阅读的7本提升交互设计能力的书籍,帮你建立起交互学习的概念.适合Web开发.产品经理.设计人员阅读,快来get起来~ 01 用户体 ...

  3. unityios相册_Unity与IOS进行交互,调用IOS系统的相机和相册

    前两篇文章总结了Unity与Android之间的简单交互以及Android系统相机和相册的使用. 更痛苦的是,后来发现在不同的测试机器上会有不同的错误. . . 下一阶段应该一步一步解决 总结当今与I ...

  4. iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1)

    iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1) 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应 ...

  5. iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态

    iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态 在示例2-2中,设置按钮的标题和颜色时,需要对按钮的状态进行设置,表示按钮在某一状态下的标题和标题颜色是什么样子.例如,UICo ...

  6. iOS 11开发教程(十九)iOS11应用视图美化按钮之设置按钮的外观

    iOS 11开发教程(十八)iOS11应用视图美化按钮之设置按钮的外观 美化按钮说白了就是对按钮的属性进行设置,设置按钮的属性有两种方法:一种是使用编辑界面中的属性检查器:另一种是使用代码进行设置.以 ...

  7. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入

    iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入 在iOS中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. ...

  8. iOS 11开发教程(十三)iOS11应用编辑界面添加视图

    iOS 11开发教程(十三)iOS11应用编辑界面添加视图 在iOS中添加视图的方式有两种:一种是使用编辑界面添加视图:另一种是使用代码添加视图.以下是这两个方式的详细介绍. 1.编辑界面添加视图 使 ...

  9. arcgis for android离线编辑,操作方法:直接从 Android 或 iOS 设备访问 Collector for ArcGIS 中的离线编辑内容...

    操作方法:直接从 Android 或 iOS 设备访问 Collector for ArcGIS 中的离线编辑内容 摘要 Collector for ArcGIS 会将离线副本存储在 SQLite 数 ...

  10. IOS选中按钮状态的记录

    IOS选择按钮状态的记录 @interface NJTabBar() {NJTabBarButton *_selectedButton; } @property(nonatomic,strong)UI ...

最新文章

  1. 调整/home和/root空间容量
  2. Http-tunnel突破单位网管封杀QQ、MSN端口的方法
  3. Python日志记录:在配置文件中指定日志格式化程序的转换器属性
  4. Redis-3.2主从复制与集群搭建
  5. mui ajax 传递base64,HTML5 MUI 手机预览图片,裁剪上传base64,保存数据库
  6. postgres 支持的线程数_线程池被打满了怎么处理呢,你是否真的了解线程池?
  7. CPU是如何访问到内存的?
  8. 微信公众号对接PHP电影网站,wxapi 微信公众号平台与电影类网站对接源码 wxapi 联合开发网 - pudn.com...
  9. 美团靠外卖和到店业务赚来的钱
  10. java读取word文档内容_Python读取PDF信息插入Word文档
  11. java 读取clob字段的几种方法
  12. LeetCode:每日一题(2020.4.15)
  13. QTouch Linux 组态软件
  14. PL3376C-ASEMI恒压原边控制PL3376C
  15. .NET方面的框架的整理和总结
  16. 释放租赁红利,中国长租公寓行业创新模式探讨和分析
  17. 失落世界服务器国庆宝箱位置,失落的斯菲尔 图文攻略 全剧情任务流程全宝箱收集...
  18. docker compose容器域名配置
  19. 淘淘商城系列(一)—— 电商行业的背景介绍(一)
  20. 计算机考研854题型,2017年中央民族大学854计算机基础综合考研大纲

热门文章

  1. iOS中__block 关键字的底层实现原理
  2. 如何用iMazing备份恢复贪婪洞窟
  3. idea 包.路径切换为目录结构
  4. Python 实int型和list相互转换 现把float型列表转换为int型列表 把列表中的数字由float转换为int型...
  5. Zimbra的zmcontral服务无法起来,提示ldap有问题。
  6. 多层交换综合实验(二)
  7. 苹果Mac最灵活的文件共享工具:​​​​Dropshare
  8. iOS开发之国际化(二)
  9. 磁盘工具无法修复磁盘怎么办
  10. 如何在Mac上创建和引导Linux USB驱动器