在推送到UINavigationController时隐藏FBFriendPickerViewController导航栏
使用presentViewController:animated:completion:
呈现FBFriendPickerViewController
的实例presentViewController:animated:completion:
非常简单,类看起来就像是用于该用例。 但是,我想使用pushViewController:animated:
将FBFriendPickerViewController
的实例推送到UINavigationController
的实例pushViewController:animated:
.
请考虑以下代码作为示例:
self.fbFriendPickerController = [[FBFriendPickerViewController alloc] init]; self.fbFriendPickerController.hidesBottomBarWhenPushed = YES; // configure stuff [[self navigationController] pushViewController:self.fbFriendPickerController animated:YES];
但是,问题是FBFriendPickerViewController
的实例已经有一个顶部导航栏。 当推入UINavigationController
,这会导致两个顶部导航栏垂直堆叠,如下面的屏幕截图所示。
一种解决方案是隐藏UINavigationController
的顶部导航栏,但这会产生一个尴尬的过渡,并且没有后退按钮。 有关保持UINavigationController
顶部导航栏但隐藏FBFriendPickerViewController
顶部导航栏的最佳方法的任何想法?
在浏览了Github上的Facebook iOS SDK 源代码后 ,我发现了这一点。 FBFriendPickerViewController
是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];
- 为什么你应该检查一个静态variables为零,如果它在上一行被初始化为零?
- Twiiter API未能获得关注者和以下详细信息
- 如何使用AFNetworking或STHTTPRequest来请求SOAP Web服务?
- 如何从我的iPad应用程序打开设置(Objective-C)
- RestKit对象映射:使用setObjectMapping的困难:forResourcePathPattern:withFetchRequestBlock
- 当didFinishLaunchingWithOptions被调用时,应用程序崩溃
- NSURLSessionDataTask和NSURLSessionDownloadTask有什么不同?
- 在Main Bundle目录中写入。 是否允许?
- iOS UIActivityViewController使用UIActivityItemProvider“忘记”项目