问题一

iOS textView在调用 UITextViewDelegate 的 textViewDidChange方法,九宫格相关中文输入的问题

有时候,需要在textViewDidChange处理相关逻辑判断时,在中文输入的情况下,例如输入“中”,对应的拼音“zhong”, 在textViewDidChange的方法里会把拼音也算进去;这就导致输入中文时也输入不需要的英文。 还有例如在九宫格下输入@字符 textViewDidChange方法会调用两次;这就导致做@跳转会跳转两次 解决方法如下:

    NSString *lang = textView.textInputMode.primaryLanguage;//获取键盘输入模式
if ([lang isEqualToString:@"zh-Hans"]){//九宫格
//拼音输入的时候 selectedRange 会有值 输入完成 selectedRange 会等于nil
//所以在输入完再进行相关的逻辑操作
UITextRange *selectedRange = [textView markedTextRange];
if (!selectedRange) {//拼音全部输入完成
//写相关输入监听逻辑 }else{//bar上的拼音监听
//不做处理
}
}else{//英文情况下
//写相关输入监听逻辑
}

如遇到其他问题会继续补充

iOS - UITextView在调用textViewDidChange方法,九宫格相关中文输入的问题的更多相关文章

  1. iOS textView在调用textViewDidChange方法,中文输入的问题

    有时候,需要在textViewDidChange处理时,在中文输入的情况下,例如输入“中”,对应的拼音“zhong”, 在textViewDidChange的方法里会把拼音也算进去:导致输入中文时也输 ...

  2. iOS UITextView placeHolder占位文字的N种方法实现方法

    方法一 1.把UITextView的text属性当成“placeholder”使用. 2.在开始编辑的代理方法里清除“placeholder”. 3.在结束编辑的代理方法里根据条件设置“placeho ...

  3. iOS JS 交互之利用系统JSContext实现 JS调用OC方法以及Objective-C调用JavaScript方法

    ios js 交互分为两块: 1.oc调用js 这一块实现起来比较简单, 我的项目中加载的是本地的html,js,css,需要注意的是当你向工程中拖入这些文件时,选择拷贝到工程中,(拖入的文件夹是蓝色 ...

  4. [iOS Hybrid实践:UIWebView中Html中用JS调用OC方法,OC执行JS代码]

    原理: 1.JS调用OC 每次webview执行跳转时都会被iOS给拦截,执行下面函数获得系统允许. 因此可以根据跳转信息转给系统,执行相应功能,比如打开相册等. // 网页中的每一个请求都会被触发 ...

  5. unity 和 iOS/Android 信息交互(方法调用)

    参考文章均来源于[大神雨松momo]的文章. unity -> iOS // unity 程序 usingSystem.Runtime.InteropServices; usingUnityEn ...

  6. iOS 或者Android调用vue.js 里面的方法

    1.原生调用vue.js 某个vue组件下的方法. 比如**.vue里面有个这样的方法: 如果这样的话,在iOS或者Android里面是调用不了这个ajax方法的. 需要在**.vue (我的版本是v ...

  7. 【iOS和HTML 5交互】iOS中加载html5调用html方法和修改html5内容

    近期项目开发中用到了这方面的技术了,那我们一起来看看. 1.利用webView控件加载本地html5或者网络上html5 2.设置控制器为webView的代理,遵守协议 3.实现代理方法webView ...

  8. ios开发网络学八:NSURLSession相关代理方法

    #import "ViewController.h" @interface ViewController ()<NSURLSessionDataDelegate> /* ...

  9. iOS的layoutSubviews和drawRect方法何时调用

    layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews.2.addSubview会触发layoutSubviews.3.设置view的Frame会触 ...

随机推荐

  1. Google File System 学习

    摘要 Google的人设计并实现了Google File System,一个可升级的分布式文件系统,用于大的分布式数据应用.可以运行在廉价的日用硬件上,具备容错性,且为大量客户端提供了高聚合的性能. ...

  2. jpa无外键配置

    在用jpa这种orm框架时,有时我们实体对象存在关联关系,但实际的业务场景可能不需要用jpa来控制数据库创建数据表之间的关联约束,这时我们就需要消除掉数据库表与表之间的外键关联.但jpa在处理建立外键 ...

  3. UnityEditor--------------之Selection类的变量解析

    UnityEditor的Selection类 Unity官方文档:https://docs.unity3d.com/ScriptReference/Selection.html Selection S ...

  4. Win10无法使用内置管理员用户打开edge解决方案

    https://jingyan.baidu.com/article/4f7d5712d23f1b1a2119274b.html

  5. iOS: 动画更换 UIImageView 的 Image

    #import <QuartzCore/QuartzCore.h> ... imageView.image = [UIImage imageNamed:(i % ) ? @"3. ...

  6. [AngularJS]ng-repeat指令要点

    ng-repeat指令要点 1,基本格式,这里不作过多说明,需要的话查看文档 <div ng-repeat="item in someCollection [| someFilter: ...

  7. input元素默认选中设置

    单选按钮: 加checked=checked属性 复选框 加checked=checked属性 select下拉框 加selected=selected属性 date日期: value='2018-0 ...

  8. git恢复删除的分支及内容

    git 删除分支git branch -D 分支名 git查看分支 git branch -a git 删除远程分支 git push origin :分支名 这里注意:git分支提交并且push了, ...

  9. 网页CSS常用中英文字体收集

    Windows的中文字体: 黑体:SimHei 宋体:SimSun 新宋体:NSimSun 仿宋:FangSong 楷体:KaiTi 仿宋_GB2312:FangSong_GB2312 楷体_GB23 ...

  10. sql产生随机时间

    --建立过程 CREATE PROCEDURE GetTime     @BeginTime VARCHAR(5),     @EndTime VARCHAR(5),     @RandTime VA ...