user1619187
user1619187

Reputation: 529

how to change label text on click on segmentControl in iphone

I am using segmentedControl in iphone application i want that when

with YES and NO

I have also one lable i want that when YES is selected lable should display YES other wise

but its not changing with my code

  -(IBAction)segmentedControlIndexChanged{

   switch (self.segmentedControl.selectedSegmentIndex) {
    case 0:
        self.segmentLabel.text =@"YES";
        break;
    case 1:
        self.segmentLabel.text =@"NO";
        break;

    default:
        break;

}


   }

Upvotes: 0

Views: 3551

Answers (2)

Siba Prasad Hota
Siba Prasad Hota

Reputation: 4789

enter image description here

Look at the image and as per that do proper wiring (select Value changed option).

-(IBAction)valueChanged:(id)sender
{

if (self.segmentedControl.selectedSegmentIndex == 0) {
    [self.segmentedControll setTitle:@"YES" forSegmentAtIndex:self.segmentedControl.selectedSegmentIndex]
}
else if (self.segmentedControl.selectedSegmentIndex == 1) {
    [self.segmentedControll setTitle:@"NO" forSegmentAtIndex:self.segmentedControl.selectedSegmentIndex]
}

}

Upvotes: 1

pawelropa
pawelropa

Reputation: 1439

Very simple use setTitle:forSegmentAtIndex:

So the code should looks like

NSString *str;
switch (self.segmentedControl.selectedSegmentIndex) {
case 0: {
    str = @"YES";
    break;
}
case 1: {
    str = @"NO";
    break;
}
default:
    break;

[self.segmentedControll setTitle:str forSegmentAtIndex:self.segmentedControl.selectedSegmentIndex]

or simpler version

if (self.segmentedControl.selectedSegmentIndex == 0) {
    [self.segmentedControll setTitle:@"YES" forSegmentAtIndex:self.segmentedControl.selectedSegmentIndex]
}
else if (self.segmentedControl.selectedSegmentIndex == 1) {
    [self.segmentedControll setTitle:@"NO" forSegmentAtIndex:self.segmentedControl.selectedSegmentIndex]
}

Upvotes: 2

Related Questions