objective c - ActionSheet clickedButtonAtIndex being used by 2 different actions -


currently following delegate listens selectedindex works takes action on index not belong action.

action1:

- (ibaction)sendpicture:(id)sender {  uiactionsheet *popupquery = [[uiactionsheet alloc] initwithtitle:nil                                                         delegate:self cancelbuttontitle:@"cancel"                                           destructivebuttontitle:nil                                                otherbuttontitles:@"take photo",@"choose existing photo",nil];  popupquery.actionsheetstyle = uiactionsheetstyleblackopaque; [popupquery showinview:self.view];   } 

action2:

- (ibaction)sendtip:(id)sender {   uiactionsheet *popupquery = [[uiactionsheet alloc] initwithtitle:@"how want tip?"                                                         delegate:self cancelbuttontitle:@"cancel"                                           destructivebuttontitle:nil                                                otherbuttontitles:@"5.00 $",@"10.00 $",@"15.00 $",@"25.00 $",@"50.00 $",nil];  popupquery.actionsheetstyle = uiactionsheetstyleblackopaque; [popupquery showinview:self.view];  } 

delegate listens selectedindex of both actionsheet menues:

-(void)actionsheet:(uiactionsheet *)actionsheet clickedbuttonatindex:(nsinteger)buttonindex {

nslog(@"selected index: %d",buttonindex);  if (buttonindex == 0) {      urltip = [nsstring stringwithformat:@"http://api.site.ca/user-tip/%@/%@/%@/",_http_nickfrom, _http_nickto, @"1"];       uialertview *alertview = [[uialertview alloc] initwithtitle:@"confirmation"                                                         message:@"do want send 5.00 $?"                                                        delegate:self                                               cancelbuttontitle:@"cancel"                                               otherbuttontitles:@"send", nil];     [alertview show];   } if (buttonindex ==1){      urltip = [nsstring stringwithformat:@"http://api.site.ca/user-tip/%@/%@/%@/",_http_nickfrom, _http_nickto, @"2"];      uialertview *alertview = [[uialertview alloc] initwithtitle:@"confirmation"                                                         message:@"do want send 10.00 $?"                                                        delegate:self                                               cancelbuttontitle:@"cancel"                                               otherbuttontitles:@"send", nil];     [alertview show];  }  if(buttonindex == 2){      urltip = [nsstring stringwithformat:@"http://api.site.ca/user-tip/%@/%@/%@/",_http_nickfrom, _http_nickto, @"3"];      uialertview *alertview = [[uialertview alloc] initwithtitle:@"confirmation"                                                         message:@"do want send 15.00 $?"                                                        delegate:self                                               cancelbuttontitle:@"cancel"                                               otherbuttontitles:@"send", nil];     [alertview show];  }  if(buttonindex == 3){     urltip = [nsstring stringwithformat:@"http://api.site.ca/user-tip/%@/%@/%@/",_http_nickfrom, _http_nickto, @"4"];      uialertview *alertview = [[uialertview alloc] initwithtitle:@"confirmation"                                                         message:@"do want send 25.00 $?"                                                        delegate:self                                               cancelbuttontitle:@"cancel"                                               otherbuttontitles:@"send", nil];     [alertview show];  }  if(buttonindex == 4){      urltip = [nsstring stringwithformat:@"http://api.site.ca/user-tip/%@/%@/%@/",_http_nickfrom, _http_nickto, @"5"];      uialertview *alertview = [[uialertview alloc] initwithtitle:@"confirmation"                                                         message:@"do want send 50.00 $?"                                                        delegate:self                                               cancelbuttontitle:@"cancel"                                               otherbuttontitles:@"send", nil];     [alertview show];  }     } 

i want able take values of sendpicture , perform actions instead of executing index belongs other action.

there few ways this. easiest way:

  • save both of uiactionsheets class's properties, saved photoactionsheet , tipactionsheet.
  • in following delegate method

    -(void)actionsheet:(uiactionsheet *)actionsheet clickedbuttonatindex:(nsinteger)buttonindex 

    compare actionsheet like:

    if (actionsheet == self.photoactionsheet){      //do } 

the second way have class implement delegate method. recommend easier way, depends on how structure project.


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -