У меня есть UIView (назовите это просмотр уведомлений) с помощью scrollView внутри (с помощью addSubView). Я хочу показать это представление как всплывающее окно с некоторой анимацией. Таким образом, в начале я сделал его высоту как 0, а в блоке анимации я установил его высоту в число желаний. Когда я хочу скрыть это представление, я установил его высоту как 0 в блоке анимации. Его работа прекрасна. Проблема в том, чтоUIView Animation With Child Views
- Сначала открывается вид просмотра дочерних элементов, после чего окно уведомления завершает его анимацию.
- То же самое, когда я хочу скрыть его, сначала открывается уведомление, пока анимация не будет равна height = 0, после чего потомки сразу исчезнут.
Я хочу создать эффект усадки/расширения для просмотра уведомлений. Чтобы показать всплывающее окно, я использую следующие анимации блока
[UIView animateWithDuration:1.0
animations:^{
notificationParentView.frame = CGRectMake(50, 52, 220, 200);
downArrowIcon.transform = CGAffineTransformMakeRotation(M_PI);
}];
Чтобы скрыть это всплывающее окно, следующий фрагмент кода работает
[UIView animateWithDuration:1.0
animations:^{
notificationParentView.frame = CGRectMake(50, 52, 220, 0);
downArrowIcon.transform = CGAffineTransformMakeRotation(0);
}completion:^(BOOL finished){
[notificationParentView removeFromSuperview];
}];
notificationParentView расширяется и сжимается хорошо, но его вид ребенка не расширяется/сокращение с их родительским представлением .ienotificationParentView. Есть ли что-то очевидное, что мне не хватает?
Так значит, я должен удалить анимацию блоков? – Ans
Нет, используйте этот код внутри блока анимации. Тем не менее, вы можете захотеть установить масштабное преобразование вне блока, когда вы его покажете. – Antzi
можете ли вы любезно вставить патрон кода? – Ans