Я мог бы успешно добавить жесты привязки к части UITextView со следующим кодом:
UITextPosition *pos = textView.endOfDocument;// textView ~ UITextView
for (int i=0;i<words*2-1;i++){// *2 since UITextGranularityWord considers a whitespace to be a word
UITextPosition *pos2 = [textView.tokenizer positionFromPosition:pos toBoundary:UITextGranularityWord inDirection:UITextLayoutDirectionLeft];
UITextRange *range = [textView textRangeFromPosition:pos toPosition:pos2];
CGRect resultFrame = [textView firstRectForRange:(UITextRange *)range ];
UIView* tapViewOnText = [[UIView alloc] initWithFrame:resultFrame];
[tapViewOnText addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(targetRoutine)]];
tapViewOnText.tag = 125;
[textView addSubview:tapViewOnText];
pos=pos2;
}
Я хочу подражать тому же поведению в UILabel
. Проблема в том, что UITextInputTokenizer
(используется для обозначения отдельных слов) объявляется в UITextInput.h
, и только UITextView
и UITextField
соответствуют UITextInput.h
; UILabel
нет.
Есть ли обходной путь для этого?