Удалить 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];

}

}

Другие вопросы по тегам