UISegmentedControl selected index always 0?
I have a UISegmentedControl that has 6 segments which I created in Interface Builder. I am calling the following method on value changed:
-(IBAction)segmentedChartButtonChanged:(id)sender
{
switch (self.segmentedChartButton.selectedSegmentIndex) {
case 0:
NSLog(@"5d selected. Index: %d", self.segmentedChartButton.selectedSegmentIndex);
break;
case 1:
NSLog(@"3m sele开发者_JS百科cted. Index: %d", self.segmentedChartButton.selectedSegmentIndex);
break;
default:
break;
}
}
Whenever I change the segments, the selectedSegmentIndex is always 0. Why is this?
It is very likely that the IBOutlet isn't connected. Check that. You can also use the sender that is passed to the method.
UISegmentedControl * segmentedControl = (UISegmentedControl *)sender;
switch (segmentedControl.selectedSegmentIndex) {
....
hi try like this it will work
-(IBAction)segmentedChartButtonChanged:(id)sender
{
UISegmentedControl *segment=(UISegmentedControl*)sender;
switch (segment.selectedSegmentIndex) {
case 0:
NSLog(@"5d selected. Index: %d", self.segmentedChartButton.selectedSegmentIndex);
break;
case 1:
NSLog(@"3m selected. Index: %d", self.segmentedChartButton.selectedSegmentIndex);
break;
default:
break;
}
}
Take an outlet for UISegmentedControl and handle with that like this,
if (self.paymentSegmentButton.selectedSegmentIndex ==0)
{
NSLog(@"first view ");
}
else
{
NSLog(@"payment initiation");
addVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"secondView"];
[self.navigationController pushViewController:addVC animated:YES];
}
I hope it helps someone.
加载中,请稍侯......
精彩评论