2013-10-11 41 views
2

我有我的应用程序一个UITextView。每次添加新字符串时,都需要动态更改其内容偏移量。代码波纹管工作正常,在iOS 6和更早的版本,但不是在iOS 7的UITextView contentOffset不工作在iOS 7

TextViewText.text = [TextViewText.text stringByReplacingCharactersInRange:RecentWordRange withString:string]; 
    newStringLen = string.length; 
    [TextViewText setSelectedRange: NSMakeRange(RecentWordRange.location+string.length, 0)]; 
    [TextViewText setContentOffset: CGPointMake(0,0) animated:NO]; 
    [TextViewText setContentOffset:contentOffset animated:YES]; 

是什么IOS7变化的setContentOffset?

+0

什么是包含变量contentOffset? –

+0

contentOffset = TextViewText.contentOffset; –

+0

这是一个iOS 7的错误。我的解决方法是在这里,它的工作原理:http://stackoverflow.com/questions/19124037/scroll-to-bottom-of-uitextview-erratic-in-ios-7-with-many-updates/19339716#19339716 – RawMean

回答

2

使用的UITextView的textContainerInset什么是insets,并使用(UIEdgeInsets)contentInset什么是(CGPoint)contentOffset

不知道为什么有人决定这是处理的UITextView抵消的最好方式,但是这是为我工作。

另外请注意,有一个奇怪的错误,不接受插图上TextView的,除非有一个左右的偏移。所以一定要确保左/右UIEdgeInsets大于1

0

最近我解决了iOS的8类似的问题我在文本视图替换的文本,它蹦来跳去。使用UITextRange相关的方法有所帮助。

UITextRange *RecentWordRange = TextViewText.selectedTextRange; 
[TextViewText replaceRange:RecentWordRange withText:string];