从 ios 中的父 viewController 移除子视图控制器

Remove Childview controller from parent viewController in ios

我有一个名为 "CenterViewConroller" 的父 viewController 和一个名为 "InventoryViewController" 的子 viewController。我在 CenterViewController 中有一个 UIButton,当我单击按钮时 childView 应该出现在给定的维度上,当我再次单击 parentcontroller 子视图时应该消失。

我在点击按钮时添加子视图为:

InventoryViewController *invent = [[InventoryViewController alloc] initWithNibName:@"InventoryViewController" bundle:nil];
     // iRosaAppDelegate_iPhone *appDelegate = [UIApplication sharedApplication].delegate;
    [invent.view setFrame:CGRectMake(400,100,320,200)];
    [self addChildViewController:invent];
    [self.view addSubview:invent.view];
    [invent didMoveToParentViewController:self];

如何在单击同一按钮时删除 ChildView

在 viewDidLoad 中,我们可以调用 ChildViewController 并隐藏视图,当单击按钮时,我们可以切换隐藏 属性,如下所示。

//在VIEWDIDLOAD invent = [[InventoryViewController alloc] initWithNibName:@"InventoryViewController" bundle:nil]; [invent.view setFrame:CGRectMake(400,100,320,200)]; [self.view addSubview:invent.view]; invent.view.hidden = true;

//按钮点击功能

if (self.invent.view.hidden == true) { [self.invent.view setHidden:NO]; } else { [self.invent.view setHidden:YES]; }

步骤 1.

在 CenterViewController.h 文件中 为 InventoryViewController 创建对象 class

InventoryViewController *发明;

步骤 2. 在 CenterViewController.m 文件中

创建以下方法

-(void)addInventoryViewController

{

invent = [[InventoryViewController alloc]       
  initWithNibName:@"InventoryViewController" bundle:nil];

[invent.view setFrame:CGRectMake(400,100,320,200)];
[self addChildViewController:invent];
[self.view addSubview:invent.view];
[invent didMoveToParentViewController:self];
}

步骤 3. 在你的按钮点击操作方法

-(IBAction)onButtonClick:(id)sender

{

if(invent != nil)
  {

 [invent.view removeFromSuperview];
 invent = nil;



}



 else

  {

     [self addInventoryViewController];

  }

}