2013-03-01 3 views
0

J'ai lu comment déplacer un objet sur xcode4.2 et j'ai réussi à déplacer un bouton. Mais je ne peux pas déplacer une tableview.Déplacer tableview sur xcode 4.2

Voici les codes sur Viewcontroller.m:

- (IBAction) unhide { 
if (flag==1) { 
    flag=0; 

    CGRect frame = testtable.frame; 
    frame.origin.x = frame.origin.x; // new x coordinate 
    frame.origin.y = 150; // new y coordinate 



    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration: 0.25]; 
    testtable.frame = frame; 
    [UIView commitAnimations]; 


} 
else{ 
    flag=1; 

    CGRect frame = testtable.frame; 
    frame.origin.x = frame.origin.x; // new x coordinate 
    frame.origin.y = 350; // new y coordinate 



    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration: 0.25]; 
    testtable.frame = frame; 
    [UIView commitAnimations]; 


}} 

Merci à l'avance.

+1

testtable est probablement 'nil'. P.S. Ce style d'animation est très ancien, vous devriez utiliser le nouveau bloc basé sur celui qui est venu avec iOS 4 – borrrden

+0

ce qui ne fonctionne pas exactement? Est-ce que votre méthode d'identification est appelée? est testtable réellement nul? – Shaun

+0

@borrrden Comment puis-je le réparer? Désolé pour ma question stupide, je suis totalement novice sur l'objectif c. Je suis content si vous me donnez des tutoriels sur "block based one". Merci d'avance. – jackiviet

Répondre

0

Ceci est très simple, Ne pas oublier de créer une sortie pour la vue de la table. Par exemple, si votre nom de sortie est testTable, essayez ce bloc de code:

if(flag==0) 
{ 
    flag=1; 
    [UIView animateWithDuration:0.7 animations:^() 
    { 
     testTable.frame=CGRectMake(0, 150, testTable.frame.size.width, testTable.frame.size.height); 
    }]; 
} 
else 
{ 
    flag=0; 
    [UIView animateWithDuration:0.7 animations:^() 
    { 
     testTable.frame=CGRectMake(0, 350, testTable.frame.size.width, testTable.frame.size.height); 
    }]; 
} 

Espérons que cela vous aidera. Bonne chance

+1

Je l'ai fait. Merci beaucoup, bonne journée: D – jackiviet