2

我的应用程序中有一个 UITextView。每次添加新字符串时,我都需要动态更改它的内容偏移量。下面的代码在 iOS 6 和更早版本上运行良好,但在 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 有什么变化?

4

2 回答 2

2

将 UITextViewtextContainerInset用于将是什么insets,并将 (UIEdgeInsets)contentInset用于将是 (CGPoint) contentOffset

不知道为什么有人认为这是处理 UITextView 偏移的最佳方法,但这对我有用。

另请注意,除非有左右偏移,否则有一个奇怪的错误不接受 textView 上的插入。所以确保左/右 UIEdgeInsets 大于 1。

于 2014-07-02T05:59:39.557 回答
0

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

UITextRange *RecentWordRange = TextViewText.selectedTextRange;
[TextViewText replaceRange:RecentWordRange withText:string];
于 2015-01-04T23:35:52.763 回答