Удалить Childview контроллер из родительского viewController в IOS
У меня есть родитель viewController
названный "CenterViewConroller" и дочерний viewController
названный "InventoryViewController". у меня есть 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 ответа
В viewDidLoad мы можем вызвать ChildViewController и сделать вид скрытым, а когда кнопка нажата, мы можем переключить скрытое свойство следующим образом.
// В ПРОСМОТРЕТЬinvent = [[InventoryViewController alloc] initWithNibName:@"InventoryViewController" bundle:nil];
[invent.view setFrame:CGRectMake(400,100,320,200)];
[self.view addSubview:invent.view];
invent.view.hidden = true;
// НА КНОПКЕ НАЖМИТЕ Func
if (self.invent.view.hidden == true) {
[self.invent.view setHidden:NO];
} else {
[self.invent.view setHidden:YES];
}
Шаг 1.
В файле CenterViewController.h создайте объект для класса InventoryViewController
InventoryViewController * изобретение;
Шаг 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:(идентификатор) отправителя
{
если (изобретите!= ноль) {
[invent.view removeFromSuperview];
invent = nil;
}
еще
{
[self addInventoryViewController];
}
}