如何找到位置或在textview中找到任何单词的矩形并在其上放置按钮?

Sab*_*bby 15 iphone position character objective-c uitextview

我正在开发一个故事app.Where我们需要提供quizes.现在我有一个故事,这个故事有一些空白或隐藏的话.每当我点击隐藏的单词时,我都会得到4个选项来回答这个问题.我尝试将按钮放在单词上,但这只是在我使用静态位置时.我只想知道如何获得该词的框架,我需要隐藏它,以便我可以在其上放置一些按钮并隐藏它.

你可以看到下面的图片..在此输入图像描述 所有答案将不胜感激

解决方案: - 这只能在iOS 5之后才能使用!

- (CGRect)frameOfTextRange:(NSRange)range inTextView:(UITextView *)textView
{
    UITextPosition *beginning = textView.beginningOfDocument; 
    UITextPosition *start = [textView positionFromPosition:beginning offset:range.location];
    UITextPosition *end = [textView positionFromPosition:start offset:range.length];
    UITextRange *textRange = [textView textRangeFromPosition:start toPosition:end];
    CGRect rect = [textView firstRectForRange:textRange]; 
    return [textView convertRect:rect fromView:textView.textInputView];



}
Run Code Online (Sandbox Code Playgroud)

谢谢

查看另外一张图片以查找错误: 在此输入图像描述

Ken*_*ses 18

UITextView采用UITextInput协议.该协议的方法-firstRectForRange:将告诉您覆盖一系列字符的矩形.如果字符范围跨越多行,则必须重复调用.它第一次会给你第一个矩形并告诉你覆盖的范围.然后,您调整您要求的范围是您感兴趣的剩余字符并重复.