1.textview有\r\n什么的就算不明白,我的文本最后一个字符是\r,结果我死活算不对,最后发现了==!

NSString * str = [_messageModels[indexPath.row].text stringByReplacingOccurrencesOfString:@"\r" withString:@""];

2.textview用sizeThatFits算比较准确

3.textview加事件之前写了

4.高度自适应,需求是写三行以内撑高,三行以上变成滚动

=====重点是三行以内要把滚动关掉要不然自己去自适应了总是上下不平均而且还是偶现

=====用sizeThatFits算比较准确,用contentSize不准,网上说准但是我没用好可能我的用法有问题

=====跳出@人员列表,结果回来他就不自己添加@这个字符了,我就手动加上去了,很奇怪,明明return YES了。

-(void)textViewDidChange:(UITextView *)textView{

if (textView.text.length>0) {

self.placehoderLabel.hidden = YES;

}else{

self.placehoderLabel.hidden = NO;

}

CGSize size = [textView sizeThatFits:CGSizeMake(textView.frame.size.width, 1000)];

if (size.height>85) {

self.txtMessageBox.scrollEnabled = YES;

return;

}

self.txtMessageBox.scrollEnabled = NO;

if(_delegate)

[_delegate changeInputViewHeight:size.height+15];我是外部调用的把它撑开

}

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{

if ([text isEqualToString:@"@"]) {

self.txtMessageBox.text = [self.txtMessageBox.text stringByAppendingString:@"@"];

self.placehoderLabel.hidden = YES;

AllMembersViewController * allvc = [[AllMembersViewController alloc]init];

allvc.roomId = [self.roomId longLongValue];

allvc.delegate = self;

_isAddRemindView = YES;

[self presentViewController:allvc animated:YES completion:nil];

}

if ([text isEqualToString:@"\n"]) {

if (textView.text&&[[textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length]>0) {

if(_delegate) {

[_delegate sendTextMessage:[textView text]withRemind:self.remindArray];

}

[textView setText:@""];

[self.remindArray removeAllObjects];

self.placehoderLabel.hidden = NO;

[self textViewDidChange:self.txtMessageBox];

[self setTextDraft];

}

return NO;

}

return YES;

}

5.未完待续。。。。。

最近因为textview高度问题疯了疯了疯了的更多相关文章

  1. 字符串判断设置TextView高度

    问题:项目中需要根据字符串的长度判断Textview的高度   一.如果全是英文的也比较容易,根据长度判断从而设置mTextView的高度就好. double temp = str.length(); ...

  2. 解决安卓TextView高度和textSize大小不一致问题

    在设计安卓界面的时候我发现一个TextView在布局上占用的高度和属性textSize的大小不一样,要比textSize要来的大(比如textSize="12dp",实际的高度大概 ...

  3. textView截取字符串-医生工作台1期

    textfield截取字符串 ios7 会崩溃 解: 之前的写法是这样的 正确的写法:   先判断markedTextRange是否为nil,   markedTextRange这个属性是啥意思呢 表 ...

  4. uitableviewcell高度自适应笔记

    今天看了几篇uitableviewcell高度自适应的文章,大体分为两种方式. 第一种方式,cell里面有label,在cellforrow绘制的时候计算Label的可能高度,并且在此时重新计算cel ...

  5. 【转】UILabel、UITextView自适应得到高度

    原文:http://blog.csdn.net/xcysuccess3/article/details/8331549 在iOS中,经常遇到需要根据字符串的内容动态指定UILabel,UITextVi ...

  6. swift textView内容显示不全

    背景: 意见反馈页面有一行提示文字,包含客服QQ,要求qq可点击.为了实现点击功能,这里的文本没有使用UILabel,而是采用了UITextView,使用textView的链接功能. 问题: 设置te ...

  7. C 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)

    最熟悉的陌生人 作者:张慧桥 “枪与玫瑰” 我送走了“蝶恋花”,犹有一种身在梦中的感觉,昨晚的宿醉让我只觉得头晕乎乎的很不舒服,想想自己连澡都还没洗呢,便去洗了个冷水澡. 煮了杯浓浓的咖啡喝了下去,我 ...

  8. [转]iOS7中UITextView contentsize改变时机

    在iOS7以下版本中,对UITextView设置了text属性,则contentsize就会变化,从而可以根据contentsize的变化来改变UITextView高度来做出TextView高度随着输 ...

  9. 在 2016 年学 JavaScript 是一种什么样的体验?

    转 译者:方应杭 嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 Web 编程,听说 Web 技术已经发生了一些变化.听说你是这里对新技术最了解的 Web 开发工程师? 准确地说,我 ...

随机推荐

  1. silverlight 生成图表 WCF 解析XML代码.svc.cs 文件

    silverlight 调用wcf 文件代码 private ListItem AnalyzeXML(string XMLCode, string Reportdate, string ChartNa ...

  2. iOS的触摸事件

    在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件,我们称其为@''响应者对象''UIApplication,UIViewController,UIView都 ...

  3. CODEVS 3139 栈练习3

    3139 栈练习3  时间限制: 2 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 比起第一题,本题加了另外一个操作,访问栈顶元素(编号3,保 ...

  4. 犯罪团伙 codevs 3554

    这是一道经典的水题,提供两种方法:①深搜  ②并查集 NO.1 深度优先搜索: #include<iostream>#include<cstdio>#include<al ...

  5. n!mod p的求法

    我们假设p为素数,n!=a*pe,则我们需要求解a mod p和e. e是n!能够迭代整除p的次数,因此可以使用下面式子计算: n/p+n/p2+n/p3…… 我们只需要对pt≤n的t进行计算所以复杂 ...

  6. 编译XSIP过程中环境配置

    昨天在编译XSip的过程中,有很多问题首先是出现了很多的error C1083. 然后到XSIP自己的文件夹中,也找不到对应的.h文件. 上网查阅后发现应该是缺少了对应的头文件的路径.   于是到可以 ...

  7. Linux上安装JDK

    1.下载rpm文件并安装 rpm -ivh jdk-7u51-linux-x64.rpm 2.修改/etc/profile文件,增加以下配置 export JAVA_HOME=/usr/java/jd ...

  8. EF 执行顺序--先删除在更新和添加

    public void AcceptAllChanges() { if (this.ObjectStateManager.SomeEntryWithConceptualNullExists()) { ...

  9. nginx对于Yii2的前后台的配置

    虽然是个基础问题,但也折腾了不少时间,记录下来,希望对新手有所帮助.例如我的前台地址yooao.cc,后台地址back.yooao.cc  back.yooao.cc是yooao.cc的一个子域名. ...

  10. 使用apache的ab对页面进行压力测试

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 我们可以模拟100个并发用户,对一个页面发送1000个请求 ./ab -n1000 -c100 ...