iphone - UITextField inputview to pop up UIPickerView displaying question mark in pickerview -
here .h file
when run code , select text field, pickerview pop's question marks in when select question mark correct values in text field
#import <uikit/uikit.h> #import "scrollableviewcontroller.h" #import "mibackgroundtapdelegate.h" //@interface activapc1 : uiviewcontroller { @interface activapc1 : scrollableviewcontroller <mibackgroundtapdelegate, uipickerviewdelegate, uipickerviewdatasource>{ uitextfield *amplitude1; uitextfield *rate1; uitextfield *pulse_width1; uitextfield *impedance1; iboutlet uitextfield *configuration; nsarray *mode;
}
@property (nonatomic, retain) iboutlet uitextfield *amplitude1; @property (nonatomic, retain) iboutlet uitextfield *rate1; @property (nonatomic, retain) iboutlet uitextfield *pulse_width1; @property (nonatomic, retain) iboutlet uitextfield *impedance1; -(ibaction)next; -(ibaction)skip; -(ibaction)home; -(ibaction)select; -(ibaction)textfielddoneediting:(id) sender; @end
here .m file
i not able understand why getting question mark please me
#import "activapc1.h" #import "dbsviewcontroller.h" #import "activapc2.h" #import "apcoption.h" @implementation activapc1 @synthesize amplitude1; @synthesize rate1; @synthesize pulse_width1; @synthesize impedance1; const int mymodepicker = 3002; -(void)viewdidload { self.svscrollviewm.contentsize = cgsizemake(320, 416); [self registerforeditingevents:amplitude1]; [self registerforeditingevents:rate1]; [self registerforeditingevents:pulse_width1]; [self registerforeditingevents:impedance1]; uipickerview *modepicker = [[uipickerview alloc] initwithframe:cgrectzero]; modepicker.tag = mymodepicker; modepicker.delegate = self; modepicker.datasource = self; [modepicker setshowsselectionindicator:yes]; configuration.inputview = modepicker; [modepicker release]; [super viewdidload]; //prepare data pickers mode = [nsarray arraywithobjects:@"voltage",@"current",nil]; [mode retain]; //mode = [[nsmutablearray alloc] init]; //[mode addobject] } //********picker view code************** #pragma mark - #pragma mark uipickerviewdelegate -(nsstring *)pickerview:(uipickerview *)pickerview titileforrow:(nsinteger)row forcomponent:(nsinteger)component reusingview:(uiview *)view { if(pickerview.tag == mymodepicker) { return [mode objectatindex:row]; } return @"unknown title"; } -(void) pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row incomponent:(nsinteger)component { if(pickerview.tag == mymodepicker) { configuration.text = (nsstring *)[mode objectatindex:row]; } } #pragma mark - #pragma mark uipickerviewdatasource - (nsinteger)numberofcomponentsinpickerview:(uipickerview *)pickerview { return 1; } - (nsinteger)pickerview:(uipickerview *)pickerview numberofrowsincomponent:(nsinteger)component { if(pickerview.tag == mymodepicker) { return mode.count; } return 1; } #pragma mark - //**********picker view code end************ -(ibaction) backgroundtap:(id) sender{ [self.amplitude1 resignfirstresponder]; [self.rate1 resignfirstresponder]; [self.pulse_width1 resignfirstresponder]; [self.impedance1 resignfirstresponder]; } -(ibaction) textfielddoneediting:(id)sender{ [sender resignfirstresponder]; } -(ibaction)home { dbsviewcontroller *dbs = [[dbsviewcontroller alloc] initwithnibname:nil bundle:nil]; [self presentmodalviewcontroller:dbs animated:yes]; } -(ibaction)skip { activapc2 *activapc2 = [[activapc2 alloc] initwithnibname:nil bundle:nil]; [self presentmodalviewcontroller:activapc2 animated:yes]; } -(ibaction)next { activapc2 *activapc2 = [[activapc2 alloc] initwithnibname:nil bundle:nil]; [self presentmodalviewcontroller:activapc2 animated:yes]; } -(ibaction)select { apcoption *apcoption = [[apcoption alloc] initwithnibname:nil bundle:nil]; [self presentmodalviewcontroller:apcoption animated:yes]; } - (void)didreceivememorywarning { // releases view if doesn't have superview. [super didreceivememorywarning]; // release cached data, images, etc. aren't in use. } - (void)viewdidunload { [super viewdidunload]; // release retained subviews of main view. // e.g. self.myoutlet = nil; } - (void)dealloc { [mode release]; [super dealloc]; } @end
the pickerview needs title not titile. delegate method returns string not have reusingview:
parameter. since don't implement delegate method picker displays question marks.
-(nsstring *)pickerview:(uipickerview *)pickerview titileforrow:(nsinteger)row forcomponent:(nsinteger)component reusingview:(uiview *)view;
i believe should be:
-(nsstring *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component;
Comments
Post a Comment