我有一个UIButton
,可以在点击后更改屏幕上的位置。然后,用户单击另一个按钮以更改按钮的图像,我希望它保留在新位置。目前我的代码在更改图像后恢复到原始位置。这是代码:
首先移动Button
(newLocation是UIImageView
的位置):
movableButton.center = [newLocation center];
然后单击其他按钮更改按钮图像:
[movableButton setImage:[UIImage imageNamed: @"differentImage.png"] forState:UIControlStateNormal];
答案 0 :(得分:1)
我不明白为什么会动起来。我只是测试了它,它确实移动了。我需要调查它为什么会移动并且会回复你。
但这会解决它移动的问题。
CGPoint currentLoc = self.imageButton.center;
[self.imageButton setImage:[UIImage imageNamed:@"face"] forState:UIControlStateNormal];
self.imageButton.center = currentLoc;
答案 1 :(得分:0)
好了,现在我得到了你的问题,你能做的就是在第二个按钮的动作中启动一个计数器:
-(void)secondButtonClick
{
static int counter = 1;
if(counter %2 == 0)
{
firstButton.center =cgpoint a; // a gain some point where you wan't to place the center
}
if(counter %2 != 0)
{
[firstButton setBackgroundImage:[UIImage imageNamed:@"logout.png"] forState:UIControlStateNormal];
}
counter ++;
}
您可以修改if条件是否要在更改图像之前更改位置.....还可以更改中心alsolike这个
a.x =a.x+10;
a.y =a.y +10;
myButton.center = a;
答案 2 :(得分:0)
试试这个
-(IBAction) movingButtonClicked
{
[movingButton setFrame:CGRectMake(movingButton.frame.origin.x+10,movingButton.frame.origin.y+20,50,50)];
}
-(IBAction) changeImage
{
[movingButton setImage:[UIImage imageNamed: @"differentImage.png"] forState:UIControlStateNormal];
}