如何在UILabel/UITextView中放置多个类似触摸的facebook标题



我想让UILabel像facebook的标题一样
我想做的是在UILabel或UITextView中进行多点触摸。我应该用什么
我怎么能做成这样http://tool.keepitreal.jp/screen.png
在这种情况下,如果你触摸,每个名字都会转到不同的页面。

    NSString* parts = @"this is test. you know?";
    NSError *error = nil;
    NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:@"test" options:0 error:&error];
    if (error == nil) {
        NSArray *res = [regexp matchesInString:parts.string options:0 range:NSMakeRange(0, parts.length)];
        for (NSTextCheckingResult *match in res) {
            // change color
            [parts addAttribute:NSForegroundColorAttributeName
                            value:[UIColor redColor]
                          range:[match rangeAtIndex:0]];
        }
    }

只需在UITextView和事件处理程序方法中设置点击手势:

CGPoint location = [gestureRecognizer locationInView:theTextView];
UITextPosition *tapPos = [self.textViewBelowPopup closestPositionToPoint:location];
UITextRange *wr = [self.textViewBelowPopup.tokenizer rangeEnclosingPosition:tapPos withGranularity:UITextGranularityWord inDirection:UITextLayoutDirectionRight];
NSString *word = [self.textViewBelowPopup textInRange:wr];

你得到了单词compare it并将其显示在相应的屏幕/页面上。

Naohide,

不可能在一个控件的不同位置指定两次敲击手势。您可以使用两个控件,其中一个是普通文本,另一个是属性文本,然后指定敲击手势。

祝你有一个幸福的一天

最新更新