5

2 つの UIViewControllers があり、firstViewController の上にモーダルで secondViewController を表示しています。私の secondViewController には、いくつかのボタンを持つ UIView であるサブビューが含まれています。今、私がやりたいことは、SecondViewController を半透明にして、firstViewController が見えるようにし、透明でないサブビューのみをモーダルに表示することです。

よろしくランジット

4

2 に答える 2

4

ビュー コントローラーを表示すると、以前のコントローラーのビューが削除されるため、現在のコントローラーのビューにアルファを設定すると、UIWindow の背景が取得されます。

透明度で遊ぶつもりならpresentModalViewController、最初のviewcontrollerで行う代わりに、[self.view addSubView:controller2.view]; and make controller2.view.alpha = 0.5;//whatever transparency level u want

于 2012-07-19T12:45:59.237 に答える
0

iOS 5.0 以降をターゲットにしている場合は、コンテナー ビュー コントローラーのアプローチを使用できます。

// create the modal view controller
MyModalController *modal = [[MyModalController alloc] 
  initWithNibName:@"MyModal" bundle:nil];
[modal willMoveToParentViewController:self];

// add it to the controllers and views hierarchies
[self addChildViewController:modal];
modal.view.frame = self.view.bounds;
[self.view addSubview:modal.view];
[modal didMoveToParentViewController:self];

次に、IB またはコードでメイン ビューの背景に設定したアルファが尊重されます。

于 2012-11-01T22:57:06.997 に答える