我正在为iPhone创建一个非常简单的应用程序。
只是不知道如何让按钮在触摸时移动到随机位置(但在屏幕上)。
我正在使用Xcode 4.2。
答案 0 :(得分:5)
使用arc4random()
生成随机数,您可以生成x和y坐标以将按钮移动到。您想要考虑按钮的宽度和高度,以便它不会部分偏离屏幕,也不会影响屏幕宽度和高度,因此它不会完全脱离屏幕。
-(void)buttonPressed:(id)sender {
UIButton *button = (UIButton *)sender;
int xmin = ([button frame].size.width)/2;
int ymin = ([button frame].size.height)/2;
int x = xmin + (arc4random() % (view.frame.size.width - button.frame.size.width));
int y = ymin + (arc4random() % (view.frame.size.height - button.frame.size.height));
[button setCenter:CGPointMake(x, y)];
}
答案 1 :(得分:2)
生成随机数 Generating random numbers in Objective-C
移动你的uibutton
button.center= CGPointMake(xCoord, yCoord);
答案 2 :(得分:1)
%对浮点数不起作用,因此最好将其更改为:
- (IBAction)buttonPress:(UIButton *)sender {
UIButton *button = (UIButton *)sender;
int xmin = ([button frame].size.width)/2;
int ymin = ([button frame].size.height)/2;
int x = xmin + arc4random_uniform(self.view.frame.size.width - button.frame.size.width);
int y = ymin + arc4random_uniform(self.view.frame.size.height - button.frame.size.height);
[button setCenter:CGPointMake(x, y)];
}