Kam nevojë për ndihmë në lidhje me UIPickerView, në aplikacionin tim duhet të shfaq UIPickerView me vendet e disponueshme. Nëse ndonjë organ ka zbatuar tashmë zgjedhësin e shtetit, ju lutemi ndani kodin.
Faleminderit
Kam nevojë për ndihmë në lidhje me UIPickerView, në aplikacionin tim duhet të shfaq UIPickerView me vendet e disponueshme. Nëse ndonjë organ ka zbatuar tashmë zgjedhësin e shtetit, ju lutemi ndani kodin.
Faleminderit
Këtu është një listë e vendeve që kam krijuar për këtë qëllim:
https://gist.github.com/vilcsak/c205dfd153a3e465f47e
Zbatimi duhet të jetë mjaft i drejtpërdrejtë, por këtu është një pjesë e kodit tonë:
- (id)init {
if ((self = [super init])) {
self.countries = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Countries" ofType:@"plist"]];
}
return self;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
self.currentCountry = [[self.countries objectAtIndex:row] objectForKey:@"code"];
self.countryLabel.text = [[self.countries objectAtIndex:row] objectForKey:@"name"];
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return self.countries.count;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [[self.countries objectAtIndex:row] objectForKey:@"name"];
}
Ju mund të merrni një listë të emrave të vendeve të disponueshme si kjo:
self.countryArray = [NSMutableArray new];
for (NSString *countryCode in [NSLocale ISOCountryCodes]) {
NSString *country = [[NSLocale systemLocale] displayNameForKey:NSLocaleCountryCode value:countryCode];
[self.countryArray addObject: country];
}
dhe këtu janë disa metoda të delegimit të UIPicker:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
self.countryLabel.text = [self.countryArray objectAtIndex:row];
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return self.countryArray.count;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [self.countryArray objectAtIndex:row];
}
Mund të marrësh vendet.plist nga pëlqimet e mëposhtme dhe ta përdorësh atë për të dhënat e përzgjedhësit
http://code.google.com/p/reviewscraper/source/browse/trunk/Countries.plist?spec=svn22&r=22
Bëni një grup të shteteve të disponueshme dhe përdorni këtë grup në këto metoda delgate dhe metoda të burimit të të dhënave
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
--> kthen vlerën në indeksin e grupit
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
numri i elementeve në grup
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
return 1;
këtu është lidhja për postimin në blog në lidhje me përzgjedhësin e të dhënave të listës së shteteve në një popover. http://iosblogl.blogspot.in/2015/11/pickerview-popover-with-country-list.html