iOS 接入autoFill功能,设置TextContenType的password后展示了newpassword出现strongpassword的混乱问题

本文介绍了在iOS应用中遇到的AutoFill功能问题,当TextContentType设置为password并启用secureTextEntry时,出现了strongpassword浮层覆盖及textcontenttype混乱的现象。经过排查发现,问题源于同一ViewController中存在多个UITextField。解决方案是将UITextField分置于不同的ViewControllers,确保每个ViewController最多两个UITextField,以正确实现AutoFill功能并解决存储密码弹框的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

一个viewcontroller上添加一个滚动视图,滚动视图分别添加了两个视图,每个视图上有两个uitextfield(此时一个uitextfield是直接当做子视图在view上的,另一个是封装后的uitextfield:意味成两个uitextfield不在这个view的同一层级上),第一个视图两个输入框分别设置textcontenttype为UITextContentTypeUsername与UITextContentTypePassword,password的secureTextEntry属性设置为YES(密文显示), 这时当点击密码输入框的时候,会出现strongpassword的浮层盖在密码输入框上,还会影响系统的存储密码的弹框。

(文章中viewcontroller简化为vc),(view简化为v)

排查过程总结: 一个vc上有两个v,每个v上分别有2个uitextfield(账号密码)的时候,autofill的功能不会同时填充账号跟密码框,可能是识别到有其他的uitextfield的存在,于是只填充了当前textfield。需要将两个v分别放在一个viewController上才行。也就是说一个vc上 只能有2个uitextfield时 才会一起填充,不然就系统会只识别填充一个(不过需要设置secureTextEntry为NO)。而且在有4个uitextfield在一个vc上子view的时候,会出现当设置secureTextEntry不是YES的时候,出现textcontenttype属性的混乱,比如你设置的密码框textcontenttype属性是password,出现了newpassword的异常,盖上strongpassword的情况。

一开始以为是,两个uitextfield必须在同一个view上,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值