Custom UIActivity ViewController Background Image Transparency Does Not Work

advertisements
 - (UIViewController *)activityViewController

I created a custom UIACtivity that returns a view controller that displays a popup. This allows the user to do some editing before performing the actual activity.

With ios below 8, my background with transparency that looks like an overlay works (I can see my game underneath) but after updating to ios8, the background becomes solid color gray. I checked the UIImageView displaying my overlay image with alpha and it is set to clear. Can someone tell me why the background suddenly becomes solid? I couldn't see the view of my game underneath anymore.

Here's my code:

- (IBAction)didPressShareButton:(id)sender
{
    ...
    [_rootViewController presentViewController:[self getActivityViewController] animated:YES completion:nil];
    ...
}

The _rootViewController is the main view controller of my application.
The [self getActivityViewController] returns an instance of UIActivityViewController which includes my custom UIActivity for instagram

My InstagramUIActivity overrides this function to return a custom viewcontroller (see attached image)

- (UIViewController *)activityViewController
{
    dismissalAC = [[InstagramDismissal alloc]init];
    presentationAC = [[InstagramPresentation alloc]init];

    instagramVC = [[InstagramViewController alloc]initWithInstagramPhoto:_instagramPhoto];
    instagramVC.delegate = self;
    if ([instagramVC respondsToSelector:@selector(setTransitioningDelegate:)]) {
        instagramVC.transitioningDelegate = self;
    }

    return instagramVC;
}

dismissalAC and presentationAC are just objects that implement the UIViewControllerAnimatedTransitioning protocol so I could have my own transition animation.

When I return my custom view controller, it pops up but along with it is a view with white background. I don't know why.


try

instagramVC.modalPresentationStyle = UIModalPresentationOverFullScreen;

or

instagramVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;