- (UIViewController *)activityViewController
我创建了一个自定义 UIACtivity,它返回一个显示弹出窗口的视图控制器。这允许用户在执行实际活动之前进行一些编辑。
在 ios 低于 8 的情况下,我的透明背景看起来像一个叠加层(我可以在下面看到我的游戏),但在更新到 ios8 后,背景变为纯灰色。我检查了 UIImageView 显示我的覆盖图像与 alpha 并设置为清除。谁能告诉我为什么背景突然变得坚实?我再也看不到下面的游戏视图了。
这是我的代码:
- (IBAction)didPressShareButton:(id)sender
{
...
[_rootViewController presentViewController:[self getActivityViewController] animated:YES completion:nil];
...
}
_rootViewController 是我的应用程序的主视图控制器。
[self getActivityViewController] 返回一个 UIActivityViewController 实例,其中包括我为 instagram 定制的 UIActivity
我的 InstagramUIActivity 覆盖此函数以返回自定义视图控制器(见附图)
- (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 和presentationAC 只是实现UIViewControllerAnimatedTransitioning
协议的对象,因此我可以拥有自己的过渡动画。
当我返回我的自定义视图控制器时,它会弹出,但随之而来的是一个白色背景的视图。我不知道为什么。