我的目标是创建一个按钮,只要你按下它,它就会自动移动到一个随机位置。我得到这个来处理这个动作:
- (IBAction)move:(id)sender
{
int x = 0 + arc4random() % (260 - 0);
int y = 0 + arc4random() % (400 - 0);
frame = self.button.frame;
frame.origin.x = x; // new x coordinate
frame.origin.y = y; // new y coordinate
self.button.frame = frame;
}
但是后来我尝试添加一个计时器,由一个按钮触发:
- (IBAction)start:(id)sender
{
timer =[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(showActivity) userInfo:nil repeats:YES];
self.startButton.Hidden = YES;
self.label.hidden = NO;
}
和
- (void)showActivity
{
int currentTime = [self.label.text intValue];
int newTime = currentTime - 1;
self.label.text = [NSString stringWithFormat:@"%d", newTime];
if (newTime == 0)
{
[timer invalidate];
}
}
每次计时器滴答作响,似乎都会重新绘制视图。在我启动计时器之前,可以很好地移动按钮。然后,一旦我按下启动计时器的第二个按钮,第一个按钮就植根于我最初将它放在我的 xib 文件中的位置。有什么办法可以解决这个问题吗?