iphone / ipad добавление добавления и удаления подпредставления не работает - PullRequest
1 голос
/ 18 мая 2010

У меня небольшое количество проблем при добавлении нового вида в мою сцену, у меня есть такой код:

- (void) showMyDayView {
NSLog(@"My Day View was touched");

MyDayViewController *temp = [[MyDayViewController alloc] initWithNibName: @"MyDayView" bundle:nil];
self.myDayViewController = temp;

NSLog(@"superview: %@", [[self mainNavView] superview]);
[[self mainNavView] removeFromSuperview];
NSLog(@"after removal main: %@", [self mainNavView]);
NSLog(@"after removal view: %@", [self view]);
NSLog(@"after removal superview: %@", [[self view] superview]);

[[[self view] superview] addSubview: [self.myDayViewController view]];

[temp release];
}

И когда я запускаю этот код, консоль говорит «после удаления superview: (null)»

поэтому, когда я добавляю подпредставление к суперпредставлению, ничего не происходит, потому что суперпредставление пусто.

Есть идеи?

Спасибо Mark

1 Ответ

1 голос
/ 18 мая 2010

Если вы хотите повторно использовать представление, которое собираетесь удалить из SuperSuperview, вы должны сначала сохранить его. removeFromSuperview освобождает любое представление, для которого оно вызывается.

Итак ...

[[self mainNavView] retain]
[[self mainNavView] removeFromSuperview];

И [self mainNavView] остается безопасным для использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...