- (UIViewController *)activityViewController
ポップアップを表示するビュー コントローラーを返すカスタム UIACtivity を作成しました。これにより、ユーザーは実際のアクティビティを実行する前に編集を行うことができます。
8 未満の iOS では、オーバーレイのように見える透過性のある背景が機能します (下にゲームが表示されます) が、iOS8 に更新した後、背景は無地のグレーになります。オーバーレイ画像をアルファ付きで表示している UIImageView を確認しましたが、クリアに設定されています。背景が突然ベタベタになる理由を教えてください。下にあるゲームのビューが見えなくなりました。
これが私のコードです:
- (IBAction)didPressShareButton:(id)sender
{
...
[_rootViewController presentViewController:[self getActivityViewController] animated:YES completion:nil];
...
}
_rootViewController は、私のアプリケーションのメイン ビュー コントローラーです。
[self getActivityViewController] は、instagram のカスタム UIActivity を含む UIActivityViewController のインスタンスを返します
私の 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
プロトコルを実装する単なるオブジェクトであるため、独自の遷移アニメーションを作成できます。
カスタム ビュー コントローラーを返すとポップアップしますが、それと共に白い背景のビューが表示されます。どうしてか分かりません。