1

我有一个viewController名为“CenterViewConroller”的父级和一个viewController名为“InventoryViewController”的子级。我有一个UIButtonCenterViewController当我单击按钮时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在同一个按钮单击时删除?

4

2 回答 2

1

步骤1。

在 CenterViewController.h 文件中为 InventoryViewController 类创建一个对象

InventoryViewController *invent;

步骤 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];

  }

}
于 2015-12-15T07:31:13.613 回答
0

在 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]; }

于 2015-12-10T11:50:45.833 回答