第二篇:_UICascadingTextStorage attributesAtIndex:effectiveRange:]: Range or index out of bounds
注意下文标红字段:
#pragma mark- 输入改变时
- (void) textFieldDidChanged:(UITextField *) TextField{
//搜索关键字一旦改变,将重新搜索,防止下拉的时候数据重复
_currentPage = 1;
bool isChinese;//判断当前输入法是否是中文
if ([[[UITextInputMode currentInputMode] primaryLanguage] isEqualToString: @"en-US"]) {
isChinese = false;
}
else
{
isChinese = true;
}
//去掉搜索中所有空格
NSString *seachtext = [[_seachtextField text] stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"%@",seachtext);
_seachtextField.text=seachtext;
if (isChinese) { //中文输入法下
UITextRange *selectedRange = [TextField markedTextRange];
//获取高亮部分
UITextPosition *position = [TextField positionFromPosition:selectedRange.start offset:0];
// 没有高亮选择的字,则对已输入的文字进行请求
if (!position) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (_seachtextField.text.length>50) {
[ApplicationDelegate showMsg:@"输入搜索地址过长!" inView:ApplicationDelegate.window];
_seachtextField.text=[_seachtextField.text substringWithRange:NSMakeRange(0, 49)];
return ;
}
DLog(@"输入的英文转化为汉字的状态");
// [self headerRereshing];
});
}else
{
DLog(@"复制粘贴很多文字,继续输入会导致崩溃:联想输入时输入的英文还没有转化为汉字的状态会导致崩溃");
//对超出限制长度情况进行判断,并直接退出
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (_seachtextField.text.length>50) {
_seachtextField.text=[_seachtextField.text substringWithRange:NSMakeRange(0, 49)];
return ;
}
return;
});
}
}else{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (_seachtextField.text.length>50) {
[ApplicationDelegate showMsg:@"输入搜索地址过长!" inView:ApplicationDelegate.window];
_seachtextField.text=[_seachtextField.text substringWithRange:NSMakeRange(0, 49)];
return ;
}
DLog(@"输入英文的状态");
// [self headerRereshing];
});
}
}
第二篇:_UICascadingTextStorage attributesAtIndex:effectiveRange:]: Range or index out of bounds的更多相关文章
- [_UICascadingTextStorage attributesAtIndex:effectiveRange:]: Range or index out of bounds
之前写过一篇<如何更好地限制一个UITextField的输入长度>,在文章最后得到的结论是可以直接使用 UIKIT_EXTERN NSString *const UITextFieldTe ...
- 小白两篇博客熟练操作MySQL 之 第二篇
小白两篇博客熟练操作MySQL 之 第二篇 一. 视图 视图是一个虚拟表,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集, 并可以将其当做表来使用. s ...
- 第二篇.1、python基础之数据类型与变量
一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...
- 【OpenGL】第二篇 Hello OpenGL
---------------------------------------------------------------------------------------------------- ...
- 深入理解javascript函数系列第二篇——函数参数
× 目录 [1]arguments [2]内部属性 [3]函数重载[4]参数传递 前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传 ...
- Swift开发第二篇——extension及fatalError
本篇分两部分: 一.extension在 Swift 中的使用 二.Swift 中的 fatalError 一.extension在 Swift 中的使用 在 swift 中我们可以通过 extens ...
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...
- python-集合(第二篇(七):集合)
第二篇(七):集合 python 集合 集合标准操作 摘要: 说明: ·类似于数学中学的集合,Python中的集合可以实现去重的功能,通过set()函数来实现: ·sets支持x in set, ...
- python之enumerate枚举 第二篇(六):enumerate枚举
[Python之旅]第二篇(六):enumerate枚举 python enumerate枚举 摘要: 1.普通情况下打印列表中索引号及其对应元素 使用下面的循环: 1 2 3 4 5 6 ...
随机推荐
- ES5, ES6, ES2016, ES.Next: JavaScript 的版本是怎么回事?
原网址:http://huangxuan.me/2015/09/22/js-version/ JavaScript 有着很奇怪的命名史. 1995 年,它作为网景浏览器(Netscape Naviga ...
- js取对象的属性值循环
var data = {name: "liuyang", job: "web", age: "27"} Object.keys(data). ...
- Fragment事务管理源代码分析
转载请标明出处:http://blog.csdn.net/shensky711/article/details/53132952 本文出自: [HansChen的博客] 概述 在Fragment使用中 ...
- Codeforces Beta Round #24 D. Broken robot (打表找规律)
题目链接: 点击我打开链接 题目大意: 给你 \(n,j\),再给出 \(m[0]\) 的坐标和\(a[0]-a[n-1]\) 的坐标. 让你输出 \(m[j]\) 的坐标,其中 \(m[i]\) 和 ...
- JQ实现选项卡(jQuery原型插件扩展)
下边分为两个版本,一种是点击切换选项(index.js),一种是滑过切换选项(index1.js) HTML文件: jq使用jquery-1.11.3.js版本 <!DOCTYPE html&g ...
- Git 基本使用方法
Git有一个优点,在本地的每个项目都是一个完整的仓库,除了须要从网络拉取和推送到网络之外,其它全部的操作都能够在本地完毕. 本文简单地介绍怎样在本地使用Git来对文件进行管理,下一篇文章再来说一下分支 ...
- js中的$符号代表什么
js中的$符号代表什么 一.总结 1.$:相当于document.getElementById(...) 2.$常用用法:每句话意思下面有,好东西 $("div p"); // ( ...
- HDU 1251统计难题 字典树
字典树的应用. 数据结构第一次课的作业竟然就需要用到树了!!!这不科学啊.赶紧来熟悉一下字典树. 空间开销太大T T #include<cstdio> #include<cstrin ...
- 【Codeforces Round #440 (Div. 2) A】 Search for Pretty Integers
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 先枚举一个数字的情况. 再枚举两个数的情况就好. [代码] #include <bits/stdc++.h> #defi ...
- 同一master,两个slave的server_id相同问题处理
错误日志报错如下: 2017-09-15 18:45:59 1660 [Note] Slave I/O thread: Failed reading log event, reconnecting t ...