我正在使用presentViewController在另一个ViewController中单击按钮时显示弹出窗口。但我得到了黑色背景。我需要一个透明的背景。我尝试了以下内容,
UIView v1 = [[UIView alloc] init];
v1.alpha = 0.0f;
v1.backgroundColor = [UIColor clearColor];
[self.view addSubview:v1];
UIView v2 = [[UIView alloc] initWithFrame:10,10,270,270];
v2.backgroundColor = [UIColor whiteColor];
[v1 addSubView:v2];
这会显示弹出窗口,但稍后会在屏幕上显示空白。 谁能帮帮我吗。提前谢谢。
此致
NEHA
答案 0 :(得分:3)
如果您在iPhone上进行测试,那么presentViewController
会在呈现所呈现的视图后隐藏父视图,因此您的请求无效。
如果您使用的是iPad,那么presentViewController
可以通过将呈现的viewcontroller的modalPresentationStyle
属性设置为UIModalPresentationFormSheet
答案 1 :(得分:0)
我找到了以下适用于我的解决方案。
在我使用presentViewController的第一个ViewController.m中,我添加了以下代码,
SecondViewController *second = [[SecondViewController alloc] init];
second.view.backgroundColor = [UIColor clearColor];
self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:second animated:YES completion:nil]
答案 2 :(得分:0)
我认为有一种方法可以使用-presentViewController 100%正确地完成这项工作。您可能必须使用保留透明度的-addSubView,并且将正确呈现。但是,您必须制作自己的动画,以使其像-presentViewController一样动画。