2010-09-02 6 views
0

Je voudrais faire apparaître une fenêtre contextuelle de sous-vue à partir de l'une des actions effectuées par un bouton placé sur un contrôleur tableview.Comment créer une fenêtre contextuelle Sous-vue à partir d'une action dans UITableviewController

J'ai d'abord ajouté une sous-vue (initialement cachée sous l'écran) et plus tard je veux l'animer en animer et pop-up. Voici le code de l'action du bouton

-(IBAction) finalShareVerse: (id) sender 
{ 
    NSLog(@"finalShare Button"); 
    UIView *tempView; 
    CGRect tmpFrame; 
    tempView = [[[UIView alloc] initWithFrame:CGRectMake(0, 490, 320, 90)] 
     autorelease]; 
    [tempView setBackgroundColor:[UIColor blackColor]]; 
    [tempView setAlpha:.87]; 
    [self.view addSubview:tempView]; 

    tmpFrame = tempView.frame; 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:.75]; 
    tmpFrame.origin.y=390; 
    self.view.frame=tmpFrame; 
    [UIView commitAnimations]; 
} 

Le problème est que maintenant le contrôleur parent s'anime et a sauté vers le bas au lieu de la sous-vue à sauté vers le haut. Existe-t-il un moyen de spécifier l'animation à déclencher uniquement sur la sous-vue.

Je suis nouveau à l'application iPhone dev .. S'il vous plaît aviser.

Répondre

0

Si je comprends bien, le problème est la ligne:

self.view.frame=tmpFrame; 

Vous appliquez le changement de position à la vue plutôt que le tmpView

+0

Thanx pour cela ... Le problème était que tempView est une variable locale à la fonction .. Une fois que j'ai fait une variable d'instance cela a bien fonctionné ... encore une fois. – tomkaith13

Questions connexes