Ios 长按UITextView和文本工具包中的空格时,插入符号消失
我正在使用文本工具包在文本视图上呈现一些富文本 我的问题是iOS 7中似乎有一个插入符号放置的bug。每当您长按文本视图中的空白区域时,插入符号似乎会消失,并且不会显示带有(剪切、复制、选择等)的弹出菜单 通过观看以下短片,您可以更好地了解这个问题: 您可以通过从Apple下载IntroToTextKit示例代码来自己尝试。以下是该项目的链接: 对此的任何解决办法都将不胜感激。找到了解决方案 子类UITextView并添加以下内容:Ios 长按UITextView和文本工具包中的空格时,插入符号消失,ios,ios7,uitextview,textkit,Ios,Ios7,Uitextview,Textkit,我正在使用文本工具包在文本视图上呈现一些富文本 我的问题是iOS 7中似乎有一个插入符号放置的bug。每当您长按文本视图中的空白区域时,插入符号似乎会消失,并且不会显示带有(剪切、复制、选择等)的弹出菜单 通过观看以下短片,您可以更好地了解这个问题: 您可以通过从Apple下载IntroToTextKit示例代码来自己尝试。以下是该项目的链接: 对此的任何解决办法都将不胜感激。找到了解决方案 子类UITextView并添加以下内容: - (UITextPosition *)closest
- (UITextPosition *)closestPositionToPoint:(CGPoint)point
{
point.y -= self.textContainerInset.top;
point.x -= self.textContainerInset.left;
CGFloat fraction = 1;
NSUInteger glyphIndex = [self.layoutManager glyphIndexForPoint:point inTextContainer:self.textContainer fractionOfDistanceThroughGlyph:&fraction];
NSInteger index = glyphIndex;
if (![[self.text substringFromIndex:self.text.length - 1] isEqualToString:@"\n"]) {
if (index == [self.text length] - 1 && roundf(fraction) > 0) {
index++;
}
}
NSUInteger characterIndex = [self.layoutManager characterIndexForGlyphAtIndex:index];
UITextPosition *pos = [self positionFromPosition:self.beginningOfDocument offset:characterIndex];
return pos;
}
找到了解决办法
子类UITextView并添加以下内容:
- (UITextPosition *)closestPositionToPoint:(CGPoint)point
{
point.y -= self.textContainerInset.top;
point.x -= self.textContainerInset.left;
CGFloat fraction = 1;
NSUInteger glyphIndex = [self.layoutManager glyphIndexForPoint:point inTextContainer:self.textContainer fractionOfDistanceThroughGlyph:&fraction];
NSInteger index = glyphIndex;
if (![[self.text substringFromIndex:self.text.length - 1] isEqualToString:@"\n"]) {
if (index == [self.text length] - 1 && roundf(fraction) > 0) {
index++;
}
}
NSUInteger characterIndex = [self.layoutManager characterIndexForGlyphAtIndex:index];
UITextPosition *pos = [self positionFromPosition:self.beginningOfDocument offset:characterIndex];
return pos;
}