程序中有一个UITextView控件

@property (weak, nonatomic) IBOutlet UITextView *textView;

一般情况下,以下代码可实现UITextView滚到底部效果

//contentSize为文本可读范围,setContentOffset设置可视范围
CGPoint offset = CGPointMake(, self.textView.contentSize.height - self.textView.frame.size.height);
[self.textView setContentOffset:offset animated:YES];

但如果遇到以下字符串,会无法完全滚到底部,而是滚到1/3处,需滚动三次才能够到底部。

self.textView.text=@"成功创建数据表\n查询语句是合法的\n 1 OBIX 16\n 2 RFDQ 20\n 3 SFGB 20\n 4 YBQZ 17\n 5 VZIV 18\n 6 WAPZ 18\n7 RKOZ 15\n 8 XJUH 20\n 9 HQTR 20\n 10 TERH 20\n 11 JLUV 16\n 12 JDPI 19\n 13 YCQQ 16\n14 LYYT 19\n 15 NFBJ 19\n 16 WOEO 17\n 17 UXZP 16\n 18 HJTB 17\n 19 ZETU 18\n 20 KFGU 20\n 21 OWLE 17\n 22 NOCA 17\n 23 KVHH 15\n 24 XLNO 17\n25 NSOQ 19\n 26 OFSR 18\n 27 MTIX 17\n 28 YIVS 20\n 29 SNRR 19\n 30 HHUS 20\n] 31 test 15\n 32 SVJT 17\n 33 YIXJ 16\n 34 XSQS 17\n 35 NFEZ 20\n 36 ZEBX 15\n 37 XUVD 19\n 38 XYHS 20\n 39 MTYM 18\n 40 KAXI 19\n41 YYNZ 15\n 42 QBQG 20\n 43 RWBP 18\n44 TSAX 16\n 45 AMBG 18\n 46 NHEM 19\n 47 ULGQ 17\n 48 IFTO 16\n 49 NSPU 17\n 50 COIW 18\n51 YXCK 18\n 52 ZQUX 19\n 53 ONOO 18\n 54 BTKW 20\n 55 ARNI 15\n 56 CQON 18\n 57 UFGK 17\n58 ELIY 20\n 59 AWIA 17\n 60 IUTQ 16\n 61 OSEB 17\n 62 Eazy 25\n 63 FVFJ 19\n 64 DBDO 17\n 65 YIEE 18\n 66 YETH 17\n 67 TEUI 16\n 68 MKLI 16\n 69 SPSQ 15\n 70 TRTY 20\n 71 UZIV 20\n 72 QVZQ 19\n 73 UNDS 20\n 74 FQIG 20\n 75 BXEX 18\n 76 DIDL 19\n77 BXAC 16\n 78 KPOS 15\n 79 AXYK 16\n80 EONZ 16\n 81 MEKH 15\n 82 YPTJ 16\n 83 FCAN 20\n 84 NDEN 15\n 85 PQWK 15\n 86 SSAU 16\n87 OEEF 16\n88 LKDB 15\n 89 EVXE 15\n 90 UAQH 18\n 91 SITB 20";

原因分析:1.格式影响(多个换行符) 2.控件限制(可能有一个缓冲过程),建议使用以下方法

//使用scrollRangeToVisible滚动到 “从倒数第二个开始获取倒数第一个” 位置
[self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length - , )];

滚动到顶部

[self.logTextView scrollRangeToVisible:NSMakeRange(, )];

解决UITextView无法滚到底部的更多相关文章

  1. uni-app中使用scroll-view滚到底部时多次触发scrolltolower事件

    一.前言.scroll-view基本属性: 前言: 前段时间使用scroll-view可滚动视图区域容器来做多个不同内容的展示(在我这个页面中同时使用了三个scroll-view做数据展示),因为这几 ...

  2. js控制滚动条在内容更新超出时自动滚到底部

    //滚动条在内容更新时自动滚到底部var message = document.getElementById('message');message.scrollTop = message.scroll ...

  3. 解决input获取焦点时底部菜单被顶上来问题

    <div class="search-box"> <input class="search-input" type="text&qu ...

  4. 如何用js控件div的滚动条,让它在内容更新时自动滚到底部?

    三种控制DIV内容滚动的方法: 方法一:使用锚标记要滚动到的位置,然后通过click方法模拟点击滚动到锚所在位置 <script language="javascript1.2&quo ...

  5. JS如何判断滚动条是否滚到底部

    判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop.clientHeight.scrollHeight.   scrollTop为滚动条在Y轴上的滚动距离.   clientHeigh ...

  6. iOS:解决UITextView自适应高度粘贴大量文字导致显示不全的问题

    一.描述 在UITextView输入框中粘贴大量的文字时,UITextView内容自适应高度计算出现误差,导致整块文字上移消失. 二.方案 在UITextView文字改变的监听中添加如下方法即可. [ ...

  7. 如何使用jQuery可以让滚轮滚到底部可以自动加载所需内容

    话不多说先上代码 $(window).scroll(function() {   var scrollTop = $(this).scrollTop(); //滚动高度  var windowHeig ...

  8. 解决UITextView滚动后无法显示完整内容

    滚动UITextView,偶尔内容只显示一半,现象如下

  9. 解决TalbleView头部或底部子控件不显示问题

    在自定义cell头部控件UITableViewHeaderFooterView(和自定义cell的方法几乎一样)时,出现了头部控件子控件不显示的问题. 注意和自定义cell的区别. .h文件 #imp ...

随机推荐

  1. 一个简单完整的promiseDemo

    想要完全理解代码,需要理解 this 和闭包的含义. Promise是什么 简单来说,Promise 主要就是为了解决异步回调的问题.用 Promise 来处理异步回调使得代码层次清晰,便于理解,且更 ...

  2. 下页小希学MVC5+EF6.2 学习记录二

    目的:1 学习mvc+ef 2  写下日记也是对自己的督促 从前端的UI开始 MVC分离的比较好,开发顺序没有特别要求,先开发哪一部分都可以,这次我们主要讲解前端UI的部分. ASP.NET MVC抛 ...

  3. 【分类问题中模型的性能度量(二)】超强整理,超详细解析,一文彻底搞懂ROC、AUC

    文章目录 1.背景 2.ROC曲线 2.1 ROC名称溯源(选看) 2.2 ROC曲线的绘制 3.AUC(Area Under ROC Curve) 3.1 AUC来历 3.2 AUC几何意义 3.3 ...

  4. linux文件编辑VI命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  5. 吴裕雄--天生自然TensorFlow2教程:数据统计

    import tensorflow as tf a = tf.ones([2, 2]) a tf.norm(a) tf.sqrt(tf.reduce_sum(tf.square(a))) a = tf ...

  6. web嵌入到原生的app里需要注意的事项

    1.https://www.cnblogs.com/shimily/articles/7943370.html 2.https://www.cnblogs.com/stoneniqiu/p/60771 ...

  7. 读写锁ReentrantReadWriteLock源代码浅析

    1.简介 并发中常用的ReentrantLock,是一种典型的排他锁,这类锁在同一时刻只允许一个线程进行访问,实际上将并行操作变成了串行操作.在并发量大的业务中,其整体效率.吞吐量不能满足实现的需要. ...

  8. axios请求接口的时候带一个参数

    getHomeInfo () { this.axios.get('/api/index.json?city=' + this.city) .then(this.getHomeInfoSucc) } 尽 ...

  9. POJ 1325 && 1274:Machine Schedule 匈牙利算法模板题

    Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12976   Accepted: 5529 ...

  10. python 发送邮件,并且带附件

    #!/usr/bin/pythonfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultiparti ...