0

我试图在 iPad 上显示我原来的 viewcontorller 中的 UIcontroller,但尺寸更小,以便用户能够与它以及后台的控制器进行交互。这是我的目标,但即使用户无法在后台与控制器交互也没关系,但必须在后台看到控制器。我试过这段代码:

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);

这将显示带有设置框架的控制器,但在背景中您看不到另一个控制器,而只是黑色。为什么?

4

1 回答 1

1

定义使用这个从其他视图控制器呈现视图控制器和这个关于视图控制器

“模态视图的演示样式”部分说明了我认为的问题。

控制器有不同的呈现风格。您可以将属性 - modalPresentationStyle 设置为 UIModalPresentationPageSheet 或 UIModalPresentationFormSheet,以将视图控制器显示在其他之上。

controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
controller.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:controller animated:YES];

另一种方法是使用 UIPopoverController。它设计用于显示并非所有屏幕视图大小的视图。但是其他视图控制器上的触摸会隐藏它。

于 2013-01-13T20:38:50.850 回答