mógłbym z powodzeniem dodać gesty kranu do części UITextView z następującego kodu:Tap gest ze strony 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;
}
pragnę naśladować takie samo zachowanie w UILabel
. Problem polega na tym, że UITextInputTokenizer
(używane do tokenizacji poszczególnych słów) jest zadeklarowane w UITextInput.h
, a tylko UITextView
& UITextField
jest zgodne z UITextInput.h
; UILabel
nie. Czy istnieje obejście tego problemu?
cześć przyjacielu, masz sprawdzone zachowanie interakcji użytkownika z UILabel, ponieważ domyślnie userinteraction jest NO z UILabel, trzeba będzie ustawić go YES.Let mi znać to działa albo nie.!!! – NiravPatel
Działanie na całym UILabel nie jest problemem, jest "częścią" UILabel. – n00bProgrammer
Sprawdź http://stackoverflow.com/questions/8811909/getting-the-word-touched-in-a-uilabel-uitextview/21577829#21577829 – TheTiger