无法从委托方法中解除FBfriendPickerViewController

时间:2012-11-14 19:16:59

标签: ios facebook delegates

我正在使用facebook FBFriendPickerViewController,并希望用户只能选择一个朋友,然后让它关闭视图控制器。在FBFriendPickerDelegate中,在selectionDidChange方法下,我试图捕获他们选择的朋友,然后关闭视图控制器。我不能让它解雇,我觉得我之前已经做了很多次这样的事情,所以我觉得有点愚蠢地问这个,但我觉得我已经筋疲力尽了,并且没有任何作用。

-(void)friendPickerViewControllerSelectionDidChange:(FBFriendPickerViewController *)friendPicker{
    self.selectedFriends = friendPicker.selection;
    NSLog(@"%@", self.selectedFriends);
    [friendPicker dismissViewControllerAnimated:YES completion:nil];
}

我也试过

[[friendPicker parentViewController] dismissViewControllerAnimated:YES completion:nil];

[self.friendPickerController dismissViewControllerAnimated:YES completion:nil];

[self.navigationController dismissViewControllerAnimated:YES completion:nil];

[[friendPicker navigationController] dismissViewControllerAnimated:YES completion:nil];

[self dismissViewControllerAnimated:YES completion:nil];

一切都无济于事。

2 个答案:

答案 0 :(得分:1)

由于它是您可能推送的导航Viewcontroller,您可能想要弹出它:

[self.navigationController popViewControllerAnimated:YES];

答案 1 :(得分:0)

如果以模态方式呈现friendpicker控制器,则可以使用FBViewControllerDelegate协议的facebookViewControllerCancelWasPressed和facebookViewControllerDoneWasPressed方法将其解除。如果符合FBFriendPickerDelegate,则会自动符合第一个。