Y at-il un moyen de trouver ypos dans un UITextView, ou/et de trouver quelle ligne ce marqueur est actuellement actif?UITextView position
Cordialement.
Y at-il un moyen de trouver ypos dans un UITextView, ou/et de trouver quelle ligne ce marqueur est actuellement actif?UITextView position
Cordialement.
vous devez faire quelques calculs trouver la position du curseur par
NSRange cursorPosition = [tf selectedRange];
sous-chaîne de la position du curseur utiliser cette chaîne de sous pour calculer la largeur de la chaîne par
sizeWithFont:constrainedToSize:
puis diviser par la largeur de votre largeur TextView .. il vous donnera à quelle ligne votre curseur est ... Il semble logiquement correct ... ne l'ai pas essayé ... essayez-le laissez-moi savoir si cela fonctionne ou pas ..
Quelque chose comme ça:
- (int) getCurrentLine: (UITextView *) textView{
int pos = textView.selectedRange.location;
NSString *str =textView.text;
NSCharacterSet *charset = [NSCharacterSet whitespaceAndNewlineCharacterSet];
int num = pos;
for (; num< str.length; num++){
unichar c = [str characterAtIndex:num];
if ([charset characterIsMember:c]) break;
}
str = [str substringToIndex:num];
CGSize tallerSize = CGSizeMake(textView.frame.size.width - 16, 999999);
CGSize lc1 = [@"Yyg" sizeWithFont: textView.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap];
CGSize lc = [str sizeWithFont: textView.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap];
lc.height = lc.height/lc1.height;
return lc.height;
}