从 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];
}
}
我有一个名为 "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];
}
}