Maneira correta de mover o UIButton entre dois pontos?

Tentando fazer um pequeno jogo de pancada, onde você tem uma grade de quadrados e precisa tocá-los em ordens diferentes. Ocasionalmente, essas praças trocam de lugar umas com as outras.

Eu acho que vou precisar colocar os locais de cada quadrado em um array. Então, quando for a hora de mover, vá do local atual para um selecionado aleatoriamente a partir do array e, em seguida, exclua esse local no array para que eu não tenha vários botões no mesmo lugar.

Infelizmente, não consigo nem mover os UIButtons, muito menos interpolar entre duas posições.

Atualmente, isso moverá um botão:

-(IBAction)button:(id)sender
{
    button.center = CGPointMake(200, 200);
}

Mas eu não quero que funcione assim, eu quero que funcione algo assim e não funciona:

if (allButtonsPressed == YES)
{
    button.center = CGPointMake(200, 200);
}

Não vai nem mexer se colocado assim:

-(void)viewDidLoad
{
    [super viewDidLoad];
    button.center = CGPointMake(200, 200);
}

Para maior clareza, o botão é adicionado através do Interface Builder, e todas essas situações funcionam ao fazer outras coisas, então eu estou supondo que os UIButtons precisam ser movidos / animados de maneiras específicas?

questionAnswers(1)

yourAnswerToTheQuestion