iOS 代码收键盘(保持编辑状态)

故事:

公司一个项目,是iOS原生加载web的结构。最近有一个需求,就是需要用js能控制oc,点击web上的输入框,主动收起系统键盘,并且保持输入框光标,保持编辑状态,以便外接刷卡器能够正常输入值。(尼玛,这是什么鬼需求😓)

一开始,我的做法是,在oc上暴漏一个收键盘方法给js调用,但是oc里收键盘的常规方式是结束页面上的编辑状态,达不到既定要求,这个让我很烦躁啊。研究了好久,发现键盘是加载在一个单独的window下的。然后尝试隐藏这个window,解决问题,写下来记录一下。方法如下

         NSArray *array = [[UIApplication sharedApplication] windows];
         NSLog(@"%lu",(unsigned long)array.count);
         //获取最顶层的window,一定是键盘所处的window,让这个window做hidden,和alpha为0.
         //只做hidden无效果,只做alpha有一个渐变。两者一起完美解决
         UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] lastObject];
         if ([tempWindow isKindOfClass:NSClassFromString(@"UIRemoteKeyboardWindow")]) {
              [tempWindow setAlpha:0];
              tempWindow.hidden = YES;   
         }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 分享人🤵顾浩翔 ✅分享内容:*OmniFocus使用 *思维导图基础/日规划 能在这走在一起的小伙伴都是热爱生命的...
    QueenaLuo阅读 4,617评论 0 6
  • 教育信念:守三尺讲台,着素心一片,只愿成就孩子一生! 领导推荐语:高蓓蓓老师温雅、平和、踏实、细致。作为一...
    高蓓_3caf阅读 3,980评论 0 0
  • 每天都是一个明天的昨天,都是一个昨天的明天,如果你的梦总是停留昨天。那么你永远是一个失败者。也许失败对你已经没有那...
    忆旧伤怀阅读 1,832评论 0 0
  • 如果每天要分出大量的精力拼凑各种没有意义的八股文,为什么不能分出半个小时的时间写写自己的感受和心情呢。大概这就是我...
    虫瓜台阅读 1,225评论 0 0
  • 秋,定是个女子, 定是个爱哭的女子。 她一哭就是三两天, 人们的心情也莫名地忧伤起来。 你瞧,那绵绵的秋雨, 就是...
    书香岁月静好阅读 1,769评论 0 2

友情链接更多精彩内容