我提交这个简单的动画,导致按钮缩小到宽度0:
[UIView animateWithDuration:0.2
delay: 0.0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
[btnActionButton setFrame:CGRectMake(160, 10, 0, 55)];
}
completion:^(BOOL finished){
}];
现在的问题是,一旦动画开始,按钮的titleLabel会自动隐藏......我确定使用模拟器的slowAnimation模式。
在动画过程中,标签是否也可能随帧缩小,因为如果按钮标题在开头消失,它似乎很尴尬。
提前致谢。 奥贝德
答案 0 :(得分:3)
这是因为宽度为0。
使用以下代码。
[UIView animateWithDuration:0.2
delay: 0.0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
[btnActionButton setFrame:CGRectMake(160, 10, 50, 55)];
}
completion:^(BOOL finished){
}];
代替50,在动画后给出你想要按钮的宽度。
答案 1 :(得分:1)
[UIView animateWithDuration:0.2
delay: 0.0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
[btnActionButton.titleLabel setCenter:CGPointMake(-64, btnActionButton.titleLabel.center.y)];
[btnDeleteButton setFrame:CGRectMake(160, 10, 128, 55)];
}
completion:^(BOOL finished){
[btnActionButton setFrame:CGRectMake(160, 10, 0, 55)];
[btnActionButton.titleLabel setCenter:CGPointMake(0, btnActionButton.titleLabel.center.y)];
}];
这就是我设法让它工作的原因......实际上,我想让第一个按钮消失,第二个按钮以滑动方式出现。
答案 2 :(得分:0)
尝试为标签设置动画。我的意思是这样的:
[UIView animateWithDuration:0.2
delay: 0.0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
[btnActionButton setFrame:CGRectMake(160, 10, 0, 55)];
[btnActionButton.titleLabel setFrame:CGRectMake( 0, 0, 0, 55)];
}
completion:^(BOOL finished){
}];
希望这有帮助。
干杯!