Вот еще одна идея.
Установите фон UIView *view
на image.png
, который вы хотите, с альфа = 0,5.Пусть
w = view.bounds.size.width;
h = view.bounds.size.height;
Создайте еще один UIView *glassView
также с альфа = 0,5 и добавьте его в качестве подпредставления:
[view addSubview:glassView];
glassView.frame = CGRectMake(0.0, h, w, 0.0);
Создайте UIImageView *glassImageView
и установите для image
значение image.png
, и добавьте его как подпредставление glassView
:
[glassView addSubview:glassImageView];
glassImageView.frame = CGRectMake(0.0, -h, w, h);
Теперь настройте анимацию, чтобы увеличить высоту и альфа на glassView
при сохранении размера imageGlassView
, что-токак это:
[UIView beginAnimations:nil context:NULL]; {
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];
[UIView setAnimationDelegate:self];
glassView.alpha = 1.0;
glassView.frame = CGRectMake(0.0, 0.0, w, h);
glassImageView.frame = CGRectMake(0.0, 0.0, w, h);
} [UIView commitAnimations];
Если честно, я не проверял это, но что-то в этом роде кажется, что это может работать.С другой стороны, возможно нет.Если вы нашли идеальное решение, пожалуйста, отправьте его обратно.Я хотел бы знать, как это сделать!