2013-03-02 2 views
0

Je prévois d'avoir un contrôleur de vue, une vue de table (3 sections) et 3 bouton. Je ne sais pas si je peux placer le bouton 1 dans la vue de tableau et en haut de la vue de table (exactement au-dessus de la section 1), le bouton 2 est au dessus de la section 2 et le bouton 3 est au dessus de la section 3 Et je veux aussi que lorsque les gens défileront vers le bas, le bouton 1 reste sur le dessus jusqu'à ce qu'il rencontre le bouton 2 -> le bouton 2 sera sur le dessus et quand il rencontrera le bouton 3, le bouton 3 sera sur le dessus.Placez UIButton sur le dessus d'un UIView

Pourriez-vous m'aider à faire ce que je veux?

+2

Fix quoi? Je ne vois pas de code à moitié fonctionnel. –

+0

J'ai modifié. Merci d'avance. – jackiviet

+0

Que voulez-vous dire par "au sommet de la section"? Qu'avez-vous essayé jusqu'à présent? –

Répondre

2

Voici un exemple qui pourrait vous convenir. Dans votre UITableViewController, qui devrait également être votre UITableViewDelegate, mettre en œuvre le code suivant:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    UIButton *button = nil; 
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,self.view.frame.size.width, HEADER_HEIGHT)]; 
    switch (section) { 
     case 0: 
      button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, BUTTON1_WIDTH, HEADER_HEIGHT)]; 
      [button addTarget:self action:@selector(SELECTOR1) forControlEvents:UIControlEventTouchUpInside]; 
      // do some more things 
      break; 
     case 1: 
      button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, BUTTON2_WIDTH, HEADER_HEIGHT)]; 
      [button addTarget:self action:@selector(SELECTOR2) forControlEvents:UIControlEventTouchUpInside]; 
      // do some more things 
      break; 
     case 2: 
      button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, BUTTON3_WIDTH, HEADER_HEIGHT)]; 
      [button addTarget:self action:@selector(SELECTOR3) forControlEvents:UIControlEventTouchUpInside]; 
      // do some more things 
      break; 
     default: 
      // do default things 
      break; 
    } 

    [headerView addSubview:button]; 
    return headerView; 
} 

Et ne pas oublier de mettre en œuvre cette:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    return HEADER_HEIGHT; 
} 
+0

Merci beaucoup. Je vais essayer votre solution et revenir si je suis coincé. – jackiviet

+0

De rien. – warchimede

0

Utilisez bringSubviewToFront: méthode et écrivez le code suivant dans la méthode viewDidLoad.

[self.view bringSubviewToFront:yourButton]; 

Je pense que cela vous sera utile.

+0

J'ai modifié. Désolé pour mon erreur. Merci d'avance. – jackiviet

Questions connexes