удаление некоторого представления из контроллера представления

StackOverflow https://stackoverflow.com/questions/600315

  •  03-07-2019
  •  | 
  •  

Вопрос

Я хочу удалить текущее подпредставление (добавленное по адресуIndex:0) из моего корневого контроллера представления и вставить вместо него новое представление.

В настоящее время я могу найти только фрагменты кода, показывающие выгрузку представления с помощью метода RemoveFromSuperView, что требует от вас знать, какое представление контроллера представления загружено в данный момент.

Единственное, что следует отметить, это то, что у меня есть еще одно подпредставление, вставленное в представление rootcontrollers, которое я не хочу выгружать.Таким образом, код, который удаляет все подпредставления, не является адекватным.

Спасибо,

м

if(self.firstscr == nil)
    {
        firstscreen *f = [[firstscreen alloc] initWithNibName:@"firstscreenview" bundle:nil];
        self.firstscr = f;
        [f release];
    }

    ///This is my attempt at getting to the currently loaded view :P
  [[self.view subviews atIndex:0].view removeFromSuperView];


    [self.view insertSubview:firstscr.view atIndex:0];
Это было полезно?

Решение

Вот как это сделать (я понял, да, я!)

if(self.firstscr == nil)
    {
        firstscreen *f = [[firstscreen alloc] initWithNibName:@"firstscreenview" bundle:nil];
        self.firstscr = f;
        [f release];
    }

    //Remove whatever view is currently loaded at index 0, this index is only to be used by "page" views
    UIView *v = [self.view.subviews objectAtIndex:0];
    [v removeFromSuperview];


    [self.view insertSubview:firstscr.view atIndex:0];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top