mon*_*oos 4 objective-c ios facebook-ios-sdk
呈现的实例FBFriendPickerViewController使用presentViewController:animated:completion:是非常简单和类好像它是用于那些使用案例.但是,我想将一个实例推FBFriendPickerViewController送到一个UINavigationController使用的实例上pushViewController:animated:.
请考虑以下代码作为示例:
self.fbFriendPickerController = [[FBFriendPickerViewController alloc] init];
self.fbFriendPickerController.hidesBottomBarWhenPushed = YES;
// configure stuff
[[self navigationController] pushViewController:self.fbFriendPickerController animated:YES];
Run Code Online (Sandbox Code Playgroud)
但是,问题是该实例FBFriendPickerViewController已经有一个顶部导航栏.当按下a时UINavigationController,会导致垂直堆叠两个顶部导航栏,如下面的屏幕截图所示.

一种解决方案是隐藏顶部导航栏UINavigationController,但这会产生一个尴尬的过渡,并且没有后退按钮.有关保持UINavigationController顶部导航栏但隐藏FBFriendPickerViewController顶部导航栏的最佳方法的任何想法?
在浏览了Github上的Facebook iOS SDK 源代码后,我发现了这一点.FBFriendPickerViewController是.的子类FBViewController.如果设置doneButton和cancelButton的任何属性FBViewController来nil,FBViewController将删除顶部导航栏.因此,以下代码有效:
self.fbFriendPickerController = [[FBFriendPickerViewController alloc] init];
self.fbFriendPickerController.hidesBottomBarWhenPushed = YES;
self.fbFriendPickerController.doneButton = nil;
self.fbFriendPickerController.cancelButton = nil;
// configure stuff
[[self navigationController] pushViewController:self.fbFriendPickerController animated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |