Как я могу сохранить UIButton в том же месте после изменения изображения?
У меня есть UIButton
который может менять местоположение на экране после нажатия. Затем пользователь нажимает другую кнопку, чтобы изменить изображение кнопки, и я хочу, чтобы она оставалась на своем новом месте. В настоящее время с моим кодом он возвращается к исходному положению после изменения изображения. Вот код:
Сначала переместите Button
(newLocation - это местоположение UIImageView
):
movableButton.center = [newLocation center];
Затем измените изображение кнопки, нажав другую кнопку:
[movableButton setImage:[UIImage imageNamed: @"differentImage.png"] forState:UIControlStateNormal];
3 ответа
Я не понимаю, почему это движется. Я только что проверил это, и оно движется. Мне нужно выяснить, почему он движется и вернется к вам.
Но это решит проблему его перемещения.
CGPoint currentLoc = self.imageButton.center;
[self.imageButton setImage:[UIImage imageNamed:@"face"] forState:UIControlStateNormal];
self.imageButton.center = currentLoc;
Хорошо, теперь у меня есть ваш вопрос, что вы можете сделать, это запустить счетчик в действии 2-й кнопки:
-(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 ++;
}
Вы можете изменить, если условие, хотите ли вы изменить положение перед изменением изображения..... Также вы можете изменить центр также
a.x =a.x+10;
a.y =a.y +10;
myButton.center = a;
Попробуй это
-(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];
}