Звучит так, будто вы просто хотите, чтобы представление отображалось поверх вашего основного вида.Модальные представления - это изящный способ представления подпредставлений, вместо этого вы должны взглянуть на создание простого класса представления для добавления в ваш контроллер представления.Затем вы можете использовать [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];
}
}
Это немного больше работы, чем при использовании модальных представлений, но это дает вам гораздо большую гибкость в отношении того, что вы используете икак вы его отображаете.
Надеюсь, это поможет:)