【发布时间】:2015-02-18 15:31:45
【问题描述】:
我有一个 UIView(称为通知视图),里面有一个滚动视图(使用 addSubView)。我想将此视图显示为带有一些动画的弹出窗口。所以在开始时我将它的高度设置为 0,在动画块中我将它的高度设置为所需的数字。当我想隐藏这个视图时,我在动画块中将它的高度设置为 0。它工作正常。问题是
- 通知视图的子视图首先出现,然后通知视图完成其动画。
- 当我想隐藏它时,通知视图首先完成其动画直到 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 可以很好地扩展和收缩,但它的子视图不会随着它们的父视图扩展/收缩。即notificationParentView。我有什么明显的遗漏吗?
【问题讨论】:
标签: ios objective-c uiview uiviewanimation