OK, voici ma question exemple de l'ennemi, je crée un UISwitch dans les 3 premiers accessoryView de cellulesSDK iPhone: Ajouter UISlider et UISwitch dans une vue de table ne se bloque que lorsque vous appuyez sur le curseur?
theSwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
[cell addSubview:theSwitch];
cell.accessoryView = theSwitch;
et ajouter 2 curseur dans les prochains 3 cellules
theSlider = [[[UISlider alloc] initWithFrame:CGRectMake(174,12,120,23)] autorelease];
theSlider.maximumValue=99;
theSlider.minimumValue=0;
[cell addSubview:theSlider];
cell.accessoryView = theSlider;
après, ajouter l'action pour passer et le curseur
[(UISwitch *)cell.accessoryView addTarget:self action:@selector(switchToggled:) forControlEvents:UIControlEventValueChanged];
[(UISlider *)cell.accessoryView addTarget:self action:@selector(sliderValueChange:) forControlEvents:UIControlEventValueChanged];
Il est fonctionne que si seulement ajouter l'interrupteur dans la cellule
Je pense que cela est peut-être ma question @selector(switchToggled:)
et @selector(sliderValueChange:)
.
si je passe le UISwitch, il ne plantera pas
mais si je touche tout curseur, planter et obtenu un message: « [UISlider estActif]: sélecteur non reconnu envoyé à l'instance »
ici est mon vide autour
- (void)switchToggled:(id)sender{
UISwitch *theSwitch = (UISwitch *)sender;
UITableViewCell *cell = (UITableViewCell *)theSwitch.superview;
UITableView *tableView = (UITableView *)cell.superview;
NSIndexPath *indexPath = [tableView indexPathForCell:cell];
if(theSwitch.on) {
...
}
else {
...
}
}
la sliderValueChange
tous les plus les mêmes que
- (void)sliderValueChange:(id)sender{
UISlider *theSlider = (UISlider *)sender;
UITableViewCell *cell = (UITableViewCell *)theSlider.superview;
UITableView *tableView = (UITableView *)cell.superview;
...
}
Est-ce que quelqu'un sait comment donner une action au contrôleur?
Merci beaucoup!
Oui je l'ai fait, juste manque le type ici! –
ok permet de sauvegarder, quand appelez-vous exactement l'isOn sur le "curseur"? Il n'apparaît pas dans vos extraits de code. – medopal
Je n'appelle jamais le curseur isOn sur, je le laisse uniquement appeler lorsque le commutateur est basculé. –