好的,所以我想制作一个在当前触摸位置展开的菜单。我通过添加高度为1的menuView然后将高度更改为我想要的高度来实现此目的:
[UIView beginAnimations:NULL context:nil];
CGRect fullRect;
fullRect = CGRectMake(menuView.frame.origin.x, menuView.frame.origin.y, 290, 180);
menuView.frame = fullRect;
[UIView commitAnimations];
现在的问题是这个menuView中有4个按钮,这些按钮首先出现,然后menuView在它们下面展开。任何想法如何使按钮出现 menuView而不是之前?
答案 0 :(得分:0)
我会使用Block动画代替。这样,您可以轻松地在动画期间或之后显示按钮。尝试类似:
[UIView animateWithDuration:1.0
animations:^{
CGRect newRect = menuView.frame;
menuView.size.height += 289;
menuView.frame = newRect;
}
completion:^(BOOL finished){
[UIView animateWithDuration:0.1
animations:^{
button.hidden = NO;
}
completion:^(BOOL finished){
;
}];
}];
这将使按钮在动画结束时停止隐藏。当然,您可以在完成块中添加更多块来处理更多动画,并且很容易对其进行自定义。希望有所帮助!
答案 1 :(得分:0)
您必须设置menuView.clipsToBounds = YES
,以便在menuView
展开时,按钮不会显示在button1.alpha = 0.0; // Do this for each button before the [UIView beginAnimations];
button1.alpha = 1.0; // Do this during the animation block.
范围之外。
我还会添加以下内容,以便为按钮提供淡入效果。
{{1}}