potrei aggiungere con successo gesti tap ad una parte della UITextView con il seguente codice:Tap gesto da parte di UILabel
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;
}
desidero di imitare lo stesso comportamento in una UILabel
. Il problema è, UITextInputTokenizer
(utilizzato per tokenizzare le singole parole) è dichiarato in UITextInput.h
e solo UITextView
& UITextField
conforme a UITextInput.h
; UILabel
no. C'è una soluzione per questo?
amico Ciao, hai controllato il comportamento di interazione con l'utente UILabel, perché per UserInteraction default è no di UILabel, si dovrà impostare YES.Let essere informato sta funzionando o no.!!! – NiravPatel
L'azione su un'intera UILabel non è un problema, è "parte" di UILabel. – n00bProgrammer
Si prega di controllare http://stackoverflow.com/questions/8811909/getting-the-word-touched-in-a-uilabel-uitextview/21577829#21577829 – TheTiger