1

J'aimerais avoir mon NSSegmentedControl avec un segment sélectionné lorsqu'il est activé et sans segment sélectionné lorsqu'il est désactivé (le type de comportement qu'a la vue NSSegmentedControl dans iTunes).Comment définir correctement un NSSegmentedControl activé

Voici quelques images:

imagebam.com http://thumbnails34.imagebam.com/10640/95598d106393309.jpg activé et sélectionné

imagebam.com http://thumbnails27.imagebam.com/10640/fa9e3c106393310.jpg désactivé correctement

imagebam.com http://thumbnails22.imagebam.com/10640/239a02106393312.jpg désactivé mais pas correctement

(*) Je reconnais que je pourrais écrire une fonction pour appeler chaque fois la propriété BOOL change et dans cette fonction je pourrais définir tous les segments désirés ou sélectionner celui qui convient, MAIS je voudrais savoir s'il y a un moyen de o accomplir cela via Cocoa Bindings ou Interface Builder.

MISE À JOUR: ajouté quelques images du problème

Répondre

0

La solution de programmation peut être quelque chose comme ceci:

- (void)setSegmentEnabled:(BOOL)enabled{ 
    if (enabled) 
    { 
     int vState = [[NSUserDefaults standardUserDefaults] integerForKey:@"SelectedSegmentView"]; 
     [viewSegment setSelectedSegment:vState]; 
     segmentEnabled = YES;   
    } 
    else 
    { 
     [viewSegment setSelected:NO forSegment:0]; 
     [viewSegment setSelected:NO forSegment:1]; 
     [viewSegment setSelected:NO forSegment:2]; 
     segmentEnabled = NO; 
    } 
} 

Je suis juste mettre en œuvre mon setter pour la propriété BOOL segmentEnabled qui est binded avec le viewSegment

0

EDIT: Je ne suis pas complètement sûr, mais je pense « Pas de sélection Placeholder » est votre meilleur pari. http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CocoaBindingsRef/Concepts/BindingsOptions.html%23//apple_ref/doc/uid/20002304-187525

Je pense toujours que vous auriez à spécifier par programme aucune sélection lorsque vous désactivez conditionnellement le contrôle.

+0

Oh, je sais, plus je m programmation avec Cocoa pas Cocoa Touch ergo je suis sur un Mac:) – rano

+0

bien souffler moi. Désolé pour ça. – griotspeak

+0

Je ne comprends pas comment un 'No Placeholder' peut être utilisé: S – rano