Удаление суперпредставления в объективе-c - PullRequest
0 голосов
/ 26 июля 2011

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

if (self.yellowViewController.view.superview == nil)
{
    if (self.yellowViewController == nil)
    {
        YellowViewController *yellowController =
        [[YellowViewController alloc] initWithNibName:@"YellowView"
bundle:nil];
        self.yellowViewController = yellowController;
        [yellowController release];
    }
    [blueViewController.view removeFromSuperview];
    [self.view insertSubview:yellowViewController.view atIndex:0];
}
else
{
    if (self.blueViewController == nil)
    {
        BlueViewController *blueController =
        [[BlueViewController alloc] initWithNibName:@"BlueView"
bundle:nil];
        self.blueViewController = blueController;
        [blueController release];
    }
    [yellowViewController.view removeFromSuperview];
    [self.view insertSubview:blueViewController.view atIndex:0];
}

Это имеет смысл для меня, но у меня есть вопрос, как бы вы сделали это с UISegmentControl, который имеет четыре представления.Я знаю, что вы можете проверить выбранный сегмент и создать это представление при необходимости.Но как мне узнать, каким был последний вид, чтобы удалить его из суперпредставления, перед тем как добавить мой новый вид в качестве подпредставления?Спасибо!

Ответы [ 3 ]

1 голос
/ 26 июля 2011

при создании каждого представления либо кода, либо IB установите значение тега в сегменте Index.so, вы можете получить их позже по значению этого тега.

0 голосов
/ 27 июля 2011

Вы можете проверить, какой вид выделен или нет, а затем удалить.

 if (yellowController) {

 [yellowController.view removeFromSuperView];
 [yellowController release];

 }

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

0 голосов
/ 26 июля 2011

Для любого UIView переднее подпредставление [[myView subviews] lastObject].

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