2010-09-09 9 views
0

alt textUIView animation

Dans la figure, ce que vous voyez dans « rouge » est une autre vue qui glisse une fois que vous cliquez sur le premier bouton +. Cette vue "rouge" n'a pas de contrôleur de vue séparé. À chaque clic sur le bouton "+", je souhaite que cette vue glisse vers le haut avec un autre élément incorporé. Par exemple, sur le premier clic "+", je voudrais que cette vue rouge glisse vers le haut avec une datepicker intégrée. Lors du deuxième clic sur le bouton "+", je voudrais que cette vue rouge glisse vers le haut avec une vue UIPicker intégrée. J'ai les éléments: UIDatepicker et UIPicker préparés. Je ne sais pas quand et où les intégrer et quelle devrait être leur taille d'image.

J'Initialisation la vue "rouge" dans la méthode viewDidLoad

viewDidLoad {

CGRect frame=CGRectMake(0, CGRectGetMaxY(self.view.bounds)-70, 320, 150); 

popup=[[UIView alloc]init]; 

popup.backgroundColor=[UIColor redColor]; 

[popup setFrame:frame]; 

}

et je glisser dans

- (void) btnClick: (id) expéditeur { frame = CGRectMake (0, 240, 320, 150);

[UIView beginAnimations:nil context:nil]; 

    [popup setFrame:frame]; 

[UIView commitAnimations]; 

}

+1

Pourriez-vous s'il vous plaît clarifier quelle est la question/l'erreur/le problème? – vfn

+0

Qu'est-ce qui pose problème? Qu'est-ce qui ne fonctionne pas? – LarsJK

+0

les gars vérifient à nouveau la question. J'ai fait quelques retouches. –

Répondre

0

Ajoutez tout le code pour le sélecteur de date et le sélecteur normal comme vous le feriez normalement.

Lorsque vous appuyez sur un bouton, ajoutez le sélecteur/sélecteur de date à la fenêtre contextuelle.

picker = [[UIPickerView alloc] init]; 
picker.frame = CGRectMake(0,0,picker.frame.size.width,picker.frame.size.height); 
[popup addSubview:picker]; 

//your code: 
[UIView beginAnimations:nil context:nil]; 
[popup setFrame:frame]; 
[UIView commitAnimations]; 

en cachant la vue popup ajouter:

[UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context::)]; 

Ajouter une méthode:

- (void)animationDidStop:(NSString*)animationID finished:(BOOL)finished context:(void *)context 

Retirez le pickerView ou tout ce que vous avez ajouté dans cette méthode ..

+0

Hey mon problème est comment, où et quand ajouter le UIDatePicker à la vue popup? –

+0

Que voulez-vous dire? Avez-vous essayé mon code et ça n'a pas fonctionné? – LarsJK

+0

@ larsaronen Merci un copain tonne, vraiment reconnaissant envers vous pour l'aide prolongée. Je luttais depuis le matin pour accomplir ceci, finalement il vient par le larsaronen. Si vous avez le temps, pouvez-vous également vérifier l'autre question que j'ai posté ici: http: //stackoverflow.com/questions/3618126/uitableview-uitabbar –

0

Vous ne devez pas modifier la hiérarchie pop-up à chaque fois que vous cliquez sur un bouton +. Créez autant de pop-up que vous avez besoin et afficher le menu contextuel approprié lorsque vous en avez besoin, il vous permet de easely swicth d'un pop-up à l'autre en même temps:

[UIView beginAnimations:nil context:nil]; 
currentlyOpenPopup.frame = CGRectMake(0.0, self.bounds.size.height, 320,150); 
currentlyOpenPopup = DatePickerPopup //here comes the if blablabl set the right popup to show; 
currentlyOpenPopup.frame = CGRectMake(0.0, self.bounds.size.height-150, 320, 150); 
[UIView commitAnimations]; 

Créez vos popups dans viewDidLoad par exemple:

datePickerPopup = [[UIView alloc] initWithFrame:CGRectFrame(0,0,320,150)]; 
UIDatePicker* dp = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,0,320,216)]; 
[datePickerPopup addSubView:dp]; 
[dp release]; 

l'UIView est là seulement si vous devez placer plusieurs objets sur un popup.

+0

Hey, je ne pouvais pas comprendre votre réponse correctement. Comment puis-je ajouter différents éléments à la même popup (vue) en fonction du clic sur le bouton. Que devrais-je définir comme cadre pour mes différents éléments (datepicker, pickerView etc). Dans la méthode viewDidLoad, j'ai ajouté la vue pop au tout dernier après tout le reste. –

+0

"ow est-ce que j'ajoute des éléments différents au même popup (vue)": Vous n'avez pas! Créer plusieurs pop-up pour chaque type d'entrée. – VdesmedT