从ios

时间:2015-12-10 09:19:54

标签: childviewcontroller parentviewcontroller

我有一个名为“CenterViewConroller”的父viewController和名为“InventoryViewController”的子viewController。我在UIButton中有CenterViewController,当我点击按钮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

2 个答案:

答案 0 :(得分:1)

第1步。

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

InventoryViewController * invent;

第2步。 在CenterViewController.m文件中

创建以下方法

- (无效)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)发送方

{

if(invent!= nil) {

 [invent.view removeFromSuperview];
 invent = nil;

}

否则

{

 [self addInventoryViewController];

}

}

答案 1 :(得分: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;

// ON BUTTON CLICK Func

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