在iphone app中评论时发现朋友

时间:2013-01-16 09:29:57

标签: iphone objective-c uitextfield uitextview

在我的Iphone应用程序中,当用户输入符号“@”时,会弹出一个弹出窗口并显示他的所有朋友列表,他可以从中选择任何一个朋友。

但是现在我的客户需要做一些修改。如果用户输入@,弹出窗口不应该出现,但是当他在@之后键入任何字母时,所有以该字母开头的朋友姓名都应该弹出。 例如: - 如果用户输入@p - 弹出窗口将带有以字母P开头的所有朋友姓名。

如何做到这一点,我尝试了一些但却无法实现的目标 (我在加载视图时收到数组中的朋友列表) 现在我正在使用

     - (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    {

     if([string isEqualToString:@"@"])
     {
       s=1;


        [UIView beginAnimations:nil context:nil];
       [UIView setAnimationDuration:0.5];
       [frndsView setCenter:CGPointMake(frndsView.center.x, frndsView.center.y-310)];
       [UIView commitAnimations];


     [commentField resignFirstResponder];
      }
     return YES;
    } 

1 个答案:

答案 0 :(得分:1)

在文本

的textChanged上使用此代码
NSMutableArray *subpredicates = [NSMutableArray array];

    for(NSString *term in arryOfWordsToBeSearched) {
        NSPredicate *p = [NSPredicate predicateWithFormat:@"self contains[cd] %@",term];
        [subpredicates addObject:p];
        }

     NSPredicate *filter = [NSCompoundPredicate andPredicateWithSubpredicates:subpredicates];
    result = (NSMutableArray*)[arryOfDummyData filteredArrayUsingPredicate: filter];

结果是一个数组