9

在此处输入图像描述

我一直在尝试添加视图容器,并在两侧留出 20px 的空间。但这似乎不是正确的做法......

// ADD CHILD VIEW CONTROLLER
    [parentViewController addChildViewController:childViewController];
    [parentViewController.view addSubview:childViewController.view];
    [childViewController didMoveToParentViewController:parentViewController];

// REMOVE THE CHILD VIEW CONTROLLER
    [childViewController willMoveToParentViewController:nil];
    [childViewController view] removeFromSuperview];
    [childViewController removeFromParentViewController];

更新我已经通过使用带有酷视图转换 的这个 MZFormSheetController“ https://github.com/m1entus/MZFormSheetController ”表单演示来解决这个问题。

4

5 回答 5

6

使用MZFormSheetController " https://github.com/m1entus/MZFormSheetController " 带有酷视图转换的表单演示。或者,iOS 8 及更高版本,您可以使用viewController.modalPresentationStyle = UIModalPresentationOverCurrentContext; Goodluck,如果您想要完整的片段,请告诉我...

于 2014-04-30T22:35:52.767 回答
4

你可以试试类似的东西,

DetailViewController *viewController= [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
viewController.modalPresentationStyle=UIModalPresentationFormSheet;
viewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

[self presentViewController:viewController animated:YES completion:^{
    viewController.view.superview.frame = CGRectMake(0, 0, 310, 500);
    viewController.view.superview.center = self.view.center;
}];

设置superview.framemodalTransitionStyle根据你。

于 2013-12-05T05:24:38.573 回答
1

更好的方法是拥有自己的控制器和视图。

在主控制器上使用当前视图控制器。

[self presentViewController:myController animated:YES completion:nil];

在 viewDidLoad 上调整 myController 框架。

CGRect newFrame = self.view.frame;
newFame.size.width -= 40;
newFame.size.height -= 40;
newFrame.origin.x = 20;
newFrame.origin.y = 20;
self.view.frame = newFrame

添加为 childViewController 是为了包含视图控制器,当您想要一个具有多个视图的控制器时,每个控制器都有自己的控制器。

https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html

于 2013-12-05T20:18:46.343 回答
1

你走对了。但是您必须在情节提要上永久添加容器视图,然后您可以通过setHidden:方法显示/隐藏它。

您还可以通过此方法显示第二个控制器动画。

于 2013-12-05T20:29:12.317 回答
0
  1. 在 iPhone 和 iPod touch 上,呈现的视图始终是全屏的。因此,它不能呈现非全屏视图控制器。

  2. 不要呈现视图控制器,将视图控制器的视图作为子视图添加到父视图控制器。所以,你可以控制外观,甚至是它下面的阴影层。

于 2013-12-05T05:35:51.423 回答