将视图控制器显示为对话模式

时间:2017-03-14 21:40:39

标签: ios

我有一个视图控制器,其视图在故事板中指定。

视图是一个简单的表视图,我认为可以毫无问题地拉伸或缩小。

在代码中,当我想加载视图控制器时,我只需要

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"vc"];
[self showViewController:vc sender:self];

现在,有没有办法可以像对话一样呈现我的视图控制器?

我希望我的视图控制器中的视图显示为好像是一个对话框,比如说,周围有20像素的边距,边距应该是透明的。

由于

2 个答案:

答案 0 :(得分:1)

您应该使用addSubView函数。

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"vc"];
CGRect frameVc = vc.view.frame;
[vc.view setFrame:CGRectMake(20, 20, frameVc.size.width - 40, frameVc.size.height - 40)];

[self.view addSubview:vc.view];

无论如何,我建议你创建一个自定义视图

答案 1 :(得分:0)

是的,这很容易。从第一个视图控制器,实例化第二个视图控制器的实例并将其添加为子视图控制器。然后只需将子视图控制器中的视图添加为子视图。子视图的任何透明区域都允许第一个视图控制器显示。