随机数frame.origin.x

时间:2012-03-16 21:39:20

标签: objective-c

我想在每次点击按钮时随机frame.origin.xframe.origin.y。按钮需要移动到iPhone屏幕内。

CGRect frame = MyButton.frame;

frame.origin.x = 10;
frame.origin.y = 10;

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration: 0.1];
MyButton.frame = frame;
[UIView commitAnimations];

有谁知道我如何生成随机数/位置?像

这样的东西
frame.origin.x = frame.size.width * (arc4random() % (10 - 1)); ?

但这是在屏幕外移动按钮

2 个答案:

答案 0 :(得分:0)

你必须定义

#define ARC4RANDOM_MAX      0x100000000

得到浮动状态:

double val = floorf(((double)arc4random()/ ARC4RANDOM_MAX)* 100.0f);

此处有更多信息

http://iphonedevelopment.blogspot.com/2008/10/random-thoughts-rand-vs-arc4random.html

答案 1 :(得分:0)

只需在this question中创建0到1之间的随机浮点值。您当前的代码将生成一个介于屏幕宽度0到8倍之间的值,但只能生成整数倍。