objective-c - 自定义 friendsPickerViewController 的样式

标签 objective-c ios facebook sdk

有没有办法自定义 friendsPickerViewControllerfacebook ios sdk 3.1 提供的样式?

我正在尝试更改 facebook 的 friendsPickerViewController 中导航栏的外观。

似乎没有任何效果。甚至没有以下内容:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"customNavBarBGImage"]  forBarMetrics:UIBarMetricsDefault];

最佳答案

这是可能的,但有点 hack。首先,FBFriendPickerViewController 使用 UIToolbar 而不是 UINavigationBar

您必须显示 FBFriendPickerViewController,然后遍历其 View 的 subview 以找到显示在顶部的 UIToolbar。找到 UIToolbar 后,您可以随意修改它。

因此在要显示好友选择器的 View Controller 的代码中,您可以这样做:

FBFriendPickerViewController *fbFriendPickerController = [[FBFriendPickerViewController alloc] init];

[fbFriendPickerController loadData];
[self presentViewController:fbFriendPickerController animated:NO completion:nil];

//Search through subviews of friendPicker until we find the UIToolbar
//NOTE: you have to do this after calling [self presentViewController...], otherwise
//the UIToolbar won't be in the array of subviews
NSArray *subs = [fbFriendPickerController.view subviews];
for (UIView *child in subs) {
    if ([child isKindOfClass:[UIToolbar class]]) {
        UIToolbar *bar = (UIToolbar *)child;
        [bar setBackgroundImage:[UIImage imageNamed:@"YOUR_IMAGE.png"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
    }
}

关于objective-c - 自定义 friendsPickerViewController 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14026420/

相关文章:

ios - 自签名证书的 Swift SSL 错误

ios - 将OpenCV的findHomography透视矩阵转换为iOS的CATransform3D

iOS FacebookSDK 的 Scrumptious 示例应用程序不起作用,因为它总是收到 FBErrorCategoryUserCancelled

objective-c - 将图像上传到 Facebook Objective-C

objective-c - 关闭通过模态 segue 显示的 View

ios - 将 openTok 用于应用程序 iOS 丢失连接后台模式

facebook - 身份验证后xmpp登录失败

ios - Facebook Audience Network ios FBAdView 宽度

objective-c - 谁能根据 Apple Objective-C 文档的这段摘录解释选择器?

ios - 将数据上传到模拟的 iOS 设备