iphone - Pickerview value on uitabelview cell -
in application have implement functionality follows,tabelview cell contains 2 button on click shows picker view,when select picker value not reflecting on uitabelview corresponding cell.label, here code.
tableview cell
if(tableview.tag==25) { static nsstring *simpletableidentifier = @"ordercel"; ordercel *cell = (ordercel *)[tableview dequeuereusablecellwithidentifier:simpletableidentifier]; if (cell == nil) { nsarray *nib = [[nsbundle mainbundle] loadnibnamed:@"ordercel" owner:self options:nil]; cell = [nib objectatindex:0]; } cell.pimg.image=[arr objectatindex:indexpath.row]; cell.sizlb.text=@"45"; cell.qtylb.text=[qtyary objectatindex:indexpath.row]; [cell.contentview addsubview:lbl1]; uibutton *button = [uibutton buttonwithtype:uibuttontypecustom]; button.tag = indexpath.row+2000; [button addtarget:self action:@selector(btnpressed:) forcontrolevents:uicontroleventtouchupinside]; button.backgroundcolor=[uicolor clearcolor]; button.frame = cgrectmake(130, 20 , 70, 35); button.contenthorizontalalignment = uicontrolcontenthorizontalalignmentleft; button.contentedgeinsets = uiedgeinsetsmake(0, 10, 0, 0); [button settitlecolor:[uicolor blackcolor] forstate:uicontrolstatenormal]; [cell addsubview:button]; uibutton *button1 = [uibutton buttonwithtype:uibuttontypecustom]; button1.tag = indexpath.row+4000; [button1 addtarget:self action:@selector(sizpressed:) forcontrolevents:uicontroleventtouchupinside]; button1.backgroundcolor=[uicolor clearcolor]; button1.contenthorizontalalignment = uicontrolcontenthorizontalalignmentleft; button1.contentedgeinsets = uiedgeinsetsmake(0, 10, 0, 0); button1.frame = cgrectmake(230, 20 , 70, 35); [button1 settitlecolor:[uicolor blackcolor] forstate:uicontrolstatenormal]; [cell addsubview:button1]; return cell; } button method
-(void)btnpressed:(uibutton*)sender { [self createactionsheet]; pickertype = @"qtypicker"; uipickerview *chpicker = [[uipickerview alloc] initwithframe:cgrectmake(0.0, 44.0, 0.0, 0.0)]; chpicker.tag=sender.tag-2000; chpicker.datasource = self; chpicker.delegate = self; chpicker.showsselectionindicator = yes; [actionsheet addsubview:chpicker]; } picker view code
- (nsinteger)numberofcomponentsinpickerview:(uipickerview *)pickerview { return 1; } - (nsinteger)pickerview:(uipickerview *)pickerview numberofrowsincomponent:(nsinteger)component { if ([pickertype isequaltostring:@"qtypicker"]) { counti = [array count]; } if ([pickertype isequaltostring:@"sizepicker"]) { counti = [array1 count]; } return counti; } - (nsstring *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component { nsstring *string; if ([pickertype isequaltostring:@"qtypicker"]) { string = [array objectatindex:row]; } if ([pickertype isequaltostring:@"sizepicker"]) { string = [array1 objectatindex:row]; } return string; } - (cgfloat)pickerview:(uipickerview *)pickerview widthforcomponent:(nsinteger)component { return 300; } - (void)pickerview:(uipickerview *)thepickerview didselectrow:(nsinteger)row incomponent:(nsinteger)component { uitableviewcell *owningcell = (uitableviewcell*)[thepickerview superview]; nsindexpath *pathtocell = [tabvu indexpathforcell:owningcell]; int index1=thepickerview.tag;//= thepickerview.tag-2000; if ([pickertype isequaltostring:@"qtypicker"]) { uilabel *obj=((uilabel *)[self.view viewwithtag:index1+1000]); obj.text = [array objectatindex:row]; [qtyary addobject:obj.text]; [tabvu reloaddata]; } if ([pickertype isequaltostring:@"sizepicker"]) { } } how selected picker value on selected cell.what change should made in code?please me sort out
your code difficult read. should way.
pickerview:(uipickerview *)thepickerview didselectrow method update array object [qtyary objectatindex:indexpath.row]. call [tableview reloaddata]; update cell.qtylb.text. other label need array update. hope works.
Comments
Post a Comment