2013-11-07 7 views
0

У меня есть два вида в моем ViewController, который я контролирую вид, который я показываю с помощью кнопки. Когда пользователь нажимает на кнопку 1, он скрывает viewA и показывает viewB, и когда пользователь нажимает кнопку button2, он скрывает viewB и показывает viewA. Но после того, как я удаляю viewA с помощью removeFromSuperView, когда я нажимаю, чтобы добавить его снова, он не отображается.удалить вид и добавить еще один вид

Что случилось?

- (IBAction)btnViewB:(id)sender { 
    NSLog(@"remove viewA"); 
    [viewA removeFromSuperview]; 
    [self.view addSubview:viewB]; 
} 
- (IBAction)btnViewA:(id)sender { 
    NSLog(@"remove viewB"); 
    [viewB removeFromSuperview]; 
    [self.view addSubview:viewA]; 
} 

Я решил эту проблему, но я хочу знать, почему, если я использую removeFromSuperView не работает

- (IBAction)btnViewB:(id)sender { 
    viewA.hidden = YES; 
    viewB.hidden = NO; 
} 
- (IBAction)btnViewA:(id)sender { 
    viewA.hidden = NO; 
    viewB.hidden = YES; 
} 

ответ

0

У вас есть класс указатели на эти мнения? Возможно, я думаю, что они не сохранились.

+0

Я использую IB и создал выход для этого вида! Мне нужно снова создать представление, используя фрейм? – bertu

+0

Нет, он говорит, что вы, вероятно, не выпускаете сам взгляд, потому что в представлении все еще есть указатели на него. – jakenberg

Смежные вопросы