我试图在我的原始viewcontorller中在iPad上显示一个UI控制器,但是尺寸较小,以便用户能够与它以及后台的控制器进行交互。这是我的目标,但即使用户无法与背景上的控制器交互也没关系,但是必须在背景中看到控制器。我试过这段代码:
controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:controller animated:YES];
controller.view.layer.cornerRadius = 10; // this value vary as per your desire
controller.view.clipsToBounds = YES;
controller.view.frame = CGRectMake(343, 163, 316, 546.5);
这将显示具有设置框架的控制器,但在后台您无法看到其他控制器,只能看到黑色。为什么呢?
答案 0 :(得分:1)
定义使用此Presenting View Controllers from Other View Controllers和此About View Controllers
“模态视图的演示样式”部分说明了我认为的问题。
控制器有不同的演示样式。您可以将property - modalPresentationStyle设置为UIModalPresentationPageSheet或UIModalPresentationFormSheet,以显示其他视图控制器。
controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
controller.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:controller animated:YES];
另一种方法是使用UIPopoverController。它旨在显示不是所有屏幕视图的视图。但是其他视图控制器上的触摸将隐藏它。