presentModalViewController полупрозрачный с предыдущим представлением в фоновом режиме - PullRequest
0 голосов
/ 17 октября 2011

Я пытаюсь представить вид полупрозрачно, чтобы предыдущий вид оставался видимым на заднем плане.

У меня есть

[self presentModalViewController:modalView animation:YES];

и у меня установлена ​​прозрачность в viewDidLoad modalView, но после того, как modalView будет запущен, предыдущий вид исчезнет. Что я могу сделать, чтобы другой вид оставался на заднем плане?

Я также пытался добавить его с

[self.view addSubview:modalView.view];

Он не охватывает весь экран, я хотел бы решить эту проблему с помощью метода presentModalViewController.

1 Ответ

0 голосов
/ 17 октября 2011

Звучит так, будто вы просто хотите, чтобы представление отображалось поверх вашего основного вида.Модальные представления - это изящный способ представления подпредставлений, вместо этого вы должны взглянуть на создание простого класса представления для добавления в ваш контроллер представления.Затем вы можете использовать [UIView animate ...];метод для его анимации в и из поля зрения.

Для начала:

- (void)displayViewButtonPressed(id)sender
{

    if (!self.topView)
    {
        UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(44.0f, 22.0f, 40.0f, 44.0f];
        [overlayView setAlpha:0.0f];
        [overlayView setBackgroundColor:[UIColor redColor]];
        [self setTopView:overlayView];
        [overlayView release];
    }

    [self.view addSubView:self.topView];

    [UIView animateWithDuration:0.5
            animations:^{

                [self.topView setAlpha:1.0f];
            }];
}

В вышеупомянутом методе мы создаем пользовательский UIView и анимируем его в позицию.Мы поддерживаем указатель на него, чтобы мы могли удалить его позже (например, так:)

- (void)dismissViewButtonTapped:(id)sender
{
    [UIView animateWithDuration:0.5
            animations:^{
                [self.topview setAlpha:0.0f];
            }
            completion:^(BOOL finished) {
                [self.topView removeFromSuperView];
            }
}

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

Надеюсь, это поможет:)

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