UIActivityViewController在导航栏上显示电子邮件模式视图控制器

时间:2014-03-05 08:00:40

标签: ios objective-c ios7 uinavigationbar uiactivityviewcontroller

我有一个带导航栏和视图控制器的应用程序,当按下按钮时,它会显示UIActivityViewController。 问题是,当选择邮件时,邮件模态视图控制器覆盖导航栏(附加图像 - 注意左上角的取消按钮)。 有什么想法吗?

以下是显示活动视图控制器的代码 -

UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
                                                        initWithActivityItems:@[message, self.currentImage] applicationActivities:nil];
    [self presentViewController:activityViewController animated:YES completion:^{
        dispatch_async(dispatch_get_main_queue(), ^{
            NSString *flurryEvent = [NSString stringWithFormat:@"Shared chapter %@", self.chapterIndex];
            [Flurry logEvent:flurryEvent];
        });
    }];

BTW-与消息相同的问题,但我想如果我解决了一个,另一个也将被解决。 enter image description here

1 个答案:

答案 0 :(得分:2)

固定!

UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
                                                    initWithActivityItems:@[message, self.currentImage] applicationActivities:nil];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:nil] forBarMetrics:UIBarMetricsDefault];
activityViewController.completionHandler = ^(NSString *activityType, BOOL completed) {
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"logo.png"] forBarMetrics:UIBarMetricsDefault];
};
[self presentViewController:activityViewController animated:YES completion:^{
    dispatch_async(dispatch_get_main_queue(), ^{

    });
}];