我有一个名为“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
?
答案 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];
}