1

例如,如果我想在 FBFriendPickerViewController 的 tableview 上添加一个搜索栏,我应该在编程代码中添加什么?

self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0,self.friendPickerController.tableView.frame.size.width, 0)];
self.friendPickerController.tableView.tableHeaderView = self.searchBar;
[self.searchBar sizeToFit];

尝试并不成功。FBFriendPickerViewController 是一种相当方便的方式,但是....没有搜索栏就不可能以有效的方式找到朋友.....

4

1 回答 1

2

这里的 Facebook 开发人员文档:

自定义好友选择器

默认好友选择器显示方式如下:

  • 完成按钮可见
  • 取消按钮可见
  • 显示好友头像
  • 好友按名字排序
  • 朋友的名字以名字在前显示

您可以通过配置 FBFriendPickerViewController 的相关属性来自定义这些默认显示功能:

// Initialize the friend picker
FBFriendPickerViewController *friendPickerController = 
    [[FBFriendPickerViewController alloc] init];

// Allow the selection of only one friend
friendPickerController.allowsMultipleSelection = NO;

// Hide the friend profile pictures
friendPickerController.itemPicturesEnabled = NO;

// Configure how friends are sorted in the display.
// Sort friends by their last names.
friendPickerController.sortOrdering = FBFriendSortByLastName;

// Configure how each friend's name is displayed.
// Display the last name first.
friendPickerController.displayOrdering = FBFriendDisplayByLastName;

// Hide the done button
friendPickerController.doneButton = nil;
...

// Hide the cancel button
friendPickerController.cancelButton = nil;

您还可以显示登录者的朋友的朋友列表:

// Initialize the friend picker
FBFriendPickerViewController *friendPickerController = 
    [[FBFriendPickerViewController alloc] init];
// Get friend's list from one of user's friends.
// Hard-coded for now.
friendPickerController.userID = @"100003086810435";
...

注意:如果该朋友已关闭所有 Facebook 应用程序,则该朋友的朋友列表可能不会显示。

如果您需要进一步的自定义,例如更改好友选择器颜色或向显示添加更多好友信息,请考虑构建您自己的选择器。

于 2012-08-16T23:27:31.173 回答