Facebook UIActivityViewController缺少取消和发布按钮

时间:2016-01-29 03:28:17

标签: ios xcode facebook uiactivityviewcontroller

当我的应用程序打开Facebook UIActivityViewController时,Facebook屏幕顶部没有导航栏,没有“取消”或“发布”按钮 - 退出屏幕的唯一方法是终止应用程序。我看到的其他应用程序在Facebook屏幕顶部有一个额外的导航栏,其中包含“取消”和“发布”按钮。

以下是我正在使用的代码:

        NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com"];
        NSArray *activityItems = @[url];

        // Put together the UIActivityViewController
        UIActivityViewController *activityVC = [[UIActivityViewController alloc]
                                                initWithActivityItems:activityItems
                                                applicationActivities:nil];

        activityVC.excludedActivityTypes = @[UIActivityTypePrint,
                                             UIActivityTypeCopyToPasteboard,
                                             UIActivityTypeAssignToContact,
                                             UIActivityTypeSaveToCameraRoll,
                                             UIActivityTypeAirDrop,
                                             UIActivityTypePostToVimeo,
                                             UIActivityTypePostToFlickr,
                                             UIActivityTypeAddToReadingList];

        // Present the UIActivityViewController
        [self presentViewController:activityVC
                           animated:YES
                         completion:nil];

Twitter,电子邮件和短信屏幕均按预期显示。 Facebook是唯一遇到问题的人。

其他一些注意事项:我注意到当我在这个应用程序上打开Facebook Share时,状态栏变为黑色,带有白色文本。在我创建的另一个测试应用程序上,状态栏看起来呈灰色,带有黑色文本。不确定为什么/这是什么意思,但可能是一个线索。

这个问题似乎是应用程序范围的,因为我有3个可以调用共享的位置,并且它在所有3个实例中都会发生。

附加图像。在" To:Public"上面应该有一个导航栏。工具栏。

enter image description here

任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:5)

您可以根据自己的要求隐藏导航栏。

所以,添加以下代码,如果您想在UIActivityViewController出现时显示导航,然后在//this will be called when the UIActivityViewController will be dismissed, so we are hiding the navigation [activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) { [[UINavigationBar appearance] setHidden:YES]; }]; //this will be called when the UIActivityViewController will be shown, so we are enabling the navigation mean unhiding it. [self presentViewController:activityVC animated:YES completion:^{ [[UINavigationBar appearance] setHidden:NO] //you can also add code to customize status bar }]; 被解雇时隐藏它: - < / em>的

2016-01-21T10:10:10+05:30

答案 1 :(得分:1)

我创建了新的应用程序,并在按钮操作上复制粘贴代码。这是完美的工作。你可以在这里查看它的图像:https://drive.google.com/file/d/0B0FNcjA1N299NWdmZGZQWC1KbzA/view?usp=sharing

据我所知,如果您在应用中使用[UINavigationBar appearance]做了一些事情,那么只有它才能解决问题。请检查一下。