我想创建一个 UIButton 在按下后在屏幕上随机移动。我想将动画与块一起使用。这是怎么做的?
问问题
754 次
1 回答
1
试试这个,这是一个简单的例子,它将使您的按钮向右移动 50 px,然后再返回(不要忘记在 IB 中链接 myButton)-
。H -
@property (nonatomic, retain) IBOutlet UIButton *myButton;
.m -
@synthesize myButton;
-(IBAction)myButtonPressed {
CGPoint oldCentre = myButton.center;
CGPoint newCentre = myButton.center;
newCentre=CGPointMake(newCentre.x + 50.0, newCentre.y);
[UIView animateWithDuration:0.3
delay:0.0
options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
animations:^{
myButton.center = newCentre;
}
completion:^(BOOL finished){
[UIView animateWithDuration:0.3
delay:0.0
options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
animations:^{
myButton.center = oldCentre;
}
completion:nil
];
}
];
}
您可以在块中放置您喜欢的任何动画。
您可能想考虑摆脱 UIViewAnimationOptionAllowUserInteraction 位,因为如果用户在动画期间一直触摸按钮,可能会产生一些有趣的结果......
于 2012-04-16T09:07:13.643 回答