0

私の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;
    } 
4

1 に答える 1

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];

結果は配列です

于 2013-01-16T09:32:10.193 に答える