5

我正在创建一个具有照片共享功能的应用程序,并且我正在尝试添加功能以提及(或标记)用户。Twitter 最初是使用带有用户名的“@”来标记用户,但现在从 Facebook 到 Instagram 的一切都在使用它。这是在 iOS 端还是在后端实现的东西?我目前正在用 Django 对后端进行编程,但出于某种原因,我认为这将在 iOS 端完成。令人惊讶的是,他们关于如何在 Django 或 iOS 中提及用户的信息很少。

基本上,在创建帖子时,我想通过键入“@”后跟用户名(之间没有空格)来创建用户提及,这将在帖子中显示他们的姓名,如下所示:@username 可以点击,领先返回该用户的个人资料。如果我对我的问题有任何不清楚的地方,请告诉我。任何帮助,例如指出我从哪里开始这样的事情的正确方向,将不胜感激。谢谢!:)

4

2 回答 2

4

在 iOS 上收听输入。当用户键入一个@,后跟一个字符时,调用您服务器上的一个 url(/user/lookup/?username=joe例如),该 URL 路由到一个查找以 . 开头的用户的视图joe。将其作为 json 返回并在下拉列表中显示。

来源:如何在 Instagram 等应用中使用“@”提及用户

于 2012-11-19T20:22:15.230 回答
0

你可以在 UITextView 委托中尝试这样的事情:

- (void)textViewDidChange:(UITextView *)textView
{
    _words = [self.textView.text componentsSeparatedByString:@" "];
    NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[cd] '@'"];
    NSArray* names = [_words filteredArrayUsingPredicate:predicate];
    if (_oldArray)
    {
        NSMutableSet* set1 = [NSMutableSet setWithArray:names];
        NSMutableSet* set2 = [NSMutableSet setWithArray:_oldArray];
        [set1 minusSet:set2];
        if (set1.count > 0)
            NSLog(@"Results %@", set1);
    }
    _oldArray = [[NSArray alloc] initWithArray:names];
}

其中 _words、_searchResults 和 _oldArray 是NSArrays.

于 2014-05-05T07:18:55.687 回答