Arc4random error: "Invalid operands to binary expression ('float' and 'float')"
arc4random, ios, uibutton
Solution
mod (%) doesn't work on floats.
int x = r + (arc4random() % (int)(self.view.frame.size.width - button1.frame.size.width));
int y = r + (arc4random() % (int)(self.view.frame.size.height - button1.frame.size.height));
As an additional note, `arc4random() % …` is not recommended.
Here is the preferred method:
int x = r + arc4random_uniform(self.view.frame.size.width - button1.frame.size.width);
int y = r + arc4random_uniform(self.view.frame.size.height - button1.frame.size.height);
Problem
I want to create a button at random position in certain view. I searched and read some SO topics however I couldn't find the solution for my problem. Here is my code: ``` UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom]; CGRect buttonRect = button1.frame; buttonRect.size = CGSizeMake(100, 100); button1.frame = buttonRect; [self.arr addObject:button1]; int r = ([button1 frame].size.width)/2; int x = r + (arc4random() % (self.view.frame.size.width - button1.frame.size.width)); int y = r + (arc4random() % (self.view.frame.size.height - button1.frame.size.height)); //ERROR:Invalid operands to binary expression ('float' and 'float') [button1 setCenter:CGPointMake(x, y)]; ```