Voici le code pour UISegmentedControl
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects: [UIImage imageNamed:@"down.png"], [UIImage imageNamed:@"dList.png"], nil]];
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = CGRectMake(0, 0, 90, 65);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = YES;
UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segmentBarItem;
[segmentBarItem release];
et
- (void)segmentAction:(id)sender{
if([sender selectedSegmentIndex] == 0)
{
button.hidden=NO;
}
else
{
[self dListMethod ];
}
}
Dans la section if (), je souhaite désactiver selectedSegmentIndex==0
et activer lorsque button.hidden=YES
Utilisation setEnabled:forSegmentAtIndex:
méthode pour activer et désactiver les segments.
[segmentedControl setEnabled:NO forSegmentAtIndex:0];
si vous souhaitez désactiver le premier segment.
Pour ceux qui peuvent être intéressés par la commande Swift:
Swift 2.
segmentedControl.setEnabled(false , forSegmentAtIndex: 0);
Swift
self.segmentedControl.setEnabled(false, forSegmentAt: 0);