OGeek|极客世界-中国程序员成长平台

标题: ios - 如何使用 FBFriendPickerViewController 设置最大好友数? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 09:25
标题: ios - 如何使用 FBFriendPickerViewController 设置最大好友数?

我一直在与 Facebook 合作制作多人游戏。我想让玩家能够从 Facebook 邀请他的 friend 参加比赛,所以我为此使用了 FBFriendPickerViewController。但是,我想将所选 friend 的数量限制为最少 1 个玩家,最多 4 个。

问题是没有明显的方法可以做到这一点,或者至少在 Facebook 的开发者文档中没有提到。我试图在里面防止这种情况

- (void)friendPickerViewControllerSelectionDidChangeFBFriendPickerViewController *)friendPicker

但是由于属性 NSArray *selection 是只读的,所以不能这样做。我也想过在用户选择 friend 并单击“完成”按钮后警告用户,但让他选择 100 个 friend 并警告他关于 4 名玩家的最大限制有点蹩脚。

有人知道怎么做吗?还是我必须从头开始实现一个完整的 FBFriendPickerViewController?

谢谢!



Best Answer-推荐答案


一种解决方法是在选择器上显示标签/消息,让用户知道他们最多可以选择 4 个 friend 。然后在选择四个之后关闭 View Controller ?然后你可以添加这样的代码:

- (void)friendPickerViewControllerSelectionDidChange:
      (FBFriendPickerViewController *)friendPicker
{
    if ([friendPicker.selection count] > 3) {
        UIAlertView *alertView = 
            [[UIAlertView alloc] initWithTitle""
                                       message"Max number of friends selected."
                                      delegate:self cancelButtonTitle"OK"
                                          otherButtonTitles:nil];
        [alertView show];
    }
}

- (void)alertViewUIAlertView *)alertView 
   clickedButtonAtIndexNSInteger)buttonIndex
{
    [self dismissModalViewControllerAnimated:YES];
}

您可能正在寻找更好的体验,例如让用户有机会从他们的最大列表中进行编辑。在这种情况下,您可以从 GitHub tableView:didSelectRowAtIndexPath: 和 tableView:didDeselectRowAtIndexPath: FBGraphObjectTableSelection 类中的委托(delegate)方法获取源代码。看起来您可能会添加一个新的“maxSelection”属性并关闭它。

关于ios - 如何使用 FBFriendPickerViewController 设置最大好友数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204558/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4