21

背景が透明なView Controllerをモーダルに追加して、下の親View Controllerが見えるようにしたいと思います。(これはiPhone用のアプリであり、iPad用ではありません。)

私はこれを試しました:

TextFieldViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"TextFieldVC"];
vc.modalPresentationStyle = UIModalPresentationCurrentContext;
vc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self.navigationController presentViewController:vc animated:YES completion:^{}];

運が悪く、View Controllerにクリアカラーの背景が与えられました。それが何かを変更する場合、私のView Controllerはストーリーボードにあります。

4

9 に答える 9

15

@Josh Kahane は、透明なビュー コントローラーをこのコードで表示するビュー コントローラーを-ViewDidLoad 設定し、ビューのアルファ チャネルをUIViewController1 未満に設定してください。

コード:

self.modalPresentationStyle = UIModalPresentationCurrentContext;
于 2012-12-02T11:54:59.260 に答える
7

私は解決策を探してきました。iOS 8 のおかげで、いくつかの新しい modalPresentationStyle が導入されました。その中の 1 つが UIModalPresentationOverCurrentContext です。この問題を解決するために同じものを使用しました。

viewcontroller.modalPresentationStyle = UIModalPresentationOverCurrentContext;

お役に立てれば。

于 2014-11-19T13:57:46.183 に答える
1

スイフト 3 -

試すvc.modalPresentationStyle = .overFullScreen

let vc = self.storyboard!.instantiateViewControllerWithIdentifier("ExampleViewController") as! ExampleViewController
vc.view.backgroundColor = UIColor.clearColor()
vc.modalPresentationStyle = .overFullScreen
self.presentViewController(vc, animated: true, completion: nil)
于 2018-05-02T11:42:41.933 に答える
-2

ビューコントローラをモーダルに提示すると、スタックに配置され、その下にあるビューコントローラが非表示になります。したがって、できることは、ビューコントローラをモーダルに表示するのと同様のアニメーションで透明なビューを表示することだけです。

于 2012-12-02T10:51:07.247 に答える