我有两个UIViewControllers,我在firstViewController上以模态方式显示第二个ViewController。我的secondViewController包含一个子视图,它是带有一些按钮的UIView。现在我想做的是,使SecondViewController半透明,以便我的firstViewController可见,并且只显示模态的子视图,这是不透明的。
Reagards Ranjit
答案 0 :(得分:4)
当您呈现视图控制器时,前一个控制器的视图将被删除,因此如果您为当前控制器的视图设置任何alpha,您将获得UIWindow的背景。
如果您打算使用透明度,那么在第一个viewcontroller中presentModalViewController
[self.view addSubView:controller2.view];
and make controller2.view.alpha = 0.5;//whatever transparency level u want
答案 1 :(得分: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或代码中为主视图背景设置的任何字母都将得到尊重。