码迷,mamicode.com
首页 > 移动开发 > 详细

iOS7以后UITextView 技巧

时间:2015-10-27 15:16:11      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

坑1:
iOS7及以上的版本上,UITextView出现这样的问题:弹出键盘时,没输入任何文字,但是光标位置不是在最上方。

解决方案: iOS7以后新增了一个属性automaticallyAdjustsScrollViewInsets,将其置为NO即可。别忘了加版本判断。

if (IOS7_And_Later) {  
        self.automaticallyAdjustsScrollViewInsets = NO;  
}  

坑2:
iOS7及以上的版本上,UITextView输入中文时,在输入多行后,光标有时会上下跳动,输入文字的时候内容有时会往上跳,光标都显示不出来。这个bug坑死好多人啊,特别是做聊天输入框的时候,不得已找一些非正常的方法解决。从网上找的各种解决方案都不行。

- (void)textViewDidChangeSelection:(UITextView *)textView  
{  
 
    //fix ios7 bug (modified by 老岳).  
    if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {  
        CGRect r = [textView caretRectForPosition:textView.selectedTextRange.end];  
        CGFloat caretY =  MAX(r.origin.y - textView.frame.size.height + r.size.height + 8, 0);  
        if (textView.contentOffset.y < caretY && r.origin.y != INFINITY) {  
            textView.contentOffset = CGPointMake(0, caretY);  
        }  
    }  
}

 

iOS7以后UITextView 技巧

标签:

原文地址:http://www.cnblogs.com/allanliu/p/4914118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!