检测写在“后”的字符@&引用;在文本视图中+;iphonesdk

检测写在“后”的字符@&引用;在文本视图中+;iphonesdk,iphone,uitextview,Iphone,Uitextview,在文本视图中,我想检测写在“@”字符后面的字符 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if([txt_comment.text isEqualToString:@"@"]){ } return YES; } 但一旦我写下“@”字,我就能捕捉到事件。如何检测事件以及在“@”之

在文本视图中,我想检测写在“@”字符后面的字符

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([txt_comment.text isEqualToString:@"@"]){

     }      
    return YES;

}
但一旦我写下“@”字,我就能捕捉到事件。如何检测事件以及在“@”之后写入的字符

试试这个:)


尝试以下操作:)

在字符串中使用
由字符串分隔的组件:

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
   NSArray *arr = [text componentsSeparatedByString:@"@"];
   if([arr count] == 2)
      NSLog(@"Your String After @ %@",[arr objectAtIndex:1]);
   else
       NSLog(@"@ string not found");

   return YES;
 }

在字符串中使用由字符串分隔的组件:

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
   NSArray *arr = [text componentsSeparatedByString:@"@"];
   if([arr count] == 2)
      NSLog(@"Your String After @ %@",[arr objectAtIndex:1]);
   else
       NSLog(@"@ string not found");

   return YES;
 }
这里的
isCharacterBefore
是在.h文件中声明的
BOOL
变量。 希望对你有帮助

这里的
isCharacterBefore
是在.h文件中声明的
BOOL
变量。 希望对你有帮助

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    NSLog(@"%@",text);
    if (isCharacterBefore) {
        NSLog(@"the Character after @ is %@",text);
        isCharacterBefore = NO;
    }
    if([text isEqualToString:@"@"]){
        isCharacterBefore = YES;
    } 

    return YES;

}