2010-07-21 3 views
1

J'ai une cellule de tableau pour laquelle j'ai défini contentView dans une vue personnalisée qui contient une étiquette et un certain nombre de uipickerviews. Mon problème est que seule la première vue du sélecteur est sélectionnable, alors que tout le reste ne le sont pas. Lorsque je clique sur l'une des vues de sélecteur non sélectionnables, la cellule de tableau est sélectionnée à la place. Ci-dessous mon code:uipickerviews à l'intérieur de la cellule de tableau non sélectionnable

 

// Inside cellForRowAtIndexPath: 
CustomPickerView *customView = [[CustomPickerView alloc] initWithFrame:CGRectMake(0, 0, 
     cell.frame.size.width, 84) andCustomObject:customObject]; 
[customView setPickerViewSelection:@""]; 
[cell.contentView addSubview:customView]; 
[customView release]; 

// Inside CustomPickerView's initWithFrame:andCustomObject method: 
for (...) { 
    UIPickerView *tempPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(25 + 
       size.width,yPosition + 42, 320, frame.size.height - 22)]; 
    self.pickerView = tempPickerView; 
    [tempPickerView release]; 
    self.pickerView.delegate = self; 
    self.pickerView.dataSource = self; 
    self.pickerView.showsSelectionIndicator = YES; 
    CGAffineTransform t0 = CGAffineTransformMakeTranslation(pickerView.bounds.size.width/2, pickerView.bounds.size.height/2); 
    CGAffineTransform s0 = CGAffineTransformMakeScale(0.4, 0.5); 
    CGAffineTransform t1 = CGAffineTransformMakeTranslation(-pickerView.bounds.size.width/2, -pickerView.bounds.size.height/2); 
    self.pickerView.transform = CGAffineTransformConcat(t0, CGAffineTransformConcat(s0, t1)); 

    [self addSubview:pickerView]; 
} 
 

J'ai aussi essayé la voie de la création d'un tableau de pages vues sélecteur au lieu d'un point de vue de sélecteur, mais il n'a fait aucune différence, ce qui est logique parce que quand vous ajoutez la vue Préparateur en tant que sous-vue , cette vue de sélecteur est conservée, donc à la fin, je me retrouve toujours avec x nombre de vues de sélecteur dans la vue personnalisée (vue personnalisée qui sera ajoutée à la vue de contenu de la cellule du tableau).

Merci, Mihai

Répondre

1

Je ne suis pas dans tous les détails de votre code, mais le visage de celui-ci, il semble que vous avez mis le contrôle dans un trop petit cadre. Le contenu débordant s'affichera (sauf si vous l'évitez explicitement, via des sous-vues de clip dans IB) mais vos événements n'atteindront pas le contenu. Essayez de définir .clipsToBounds = YES et vous saurez si c'est votre problème.

+0

Je définis la propriété sur la vue parente (où j'ajoute toutes les vues du sélecteur), et en effet, seule la première vue du sélecteur est visible. Merci! –

Questions connexes