Ios7 pickerview未显示存储在数组中的数据
} 我想在picker视图中显示array的值,为此我使用3个数组和3个textfield,但picker视图不显示数据。Ios7 pickerview未显示存储在数组中的数据,ios7,xcode5,Ios7,Xcode5,} 我想在picker视图中显示array的值,为此我使用3个数组和3个textfield,但picker视图不显示数据。 非常感谢您的帮助。在这方面,您无需每次都进行PickerView。进行首次pickerview并每次重新加载零部件 // tell the picker the width of each row for a given component -(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponen
非常感谢您的帮助。在这方面,您无需每次都进行PickerView。进行首次pickerview并每次重新加载零部件
// tell the picker the width of each row for a given component
-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
int sectionWidth = 300;
return sectionWidth;
}
-(void)pickerDone:(id)sender
{
NSLog(@"Done Clicked");
NSLog(@"Done Clicked%d",selectedTextfieldValue);
myPickerView.hidden=YES;
pickerToolbar.hidden=YES;
}
-(void)pickerCancel:(id)sender
{
NSLog(@"cancel");
myPickerView.hidden=YES;
pickerToolbar.hidden=YES;
}
@end
可能这对其他明智的人有帮助访问这里&请帮助任何人。这非常重要,因为我必须将从Web服务获取的值存储在数组中。。
UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(pickerDone:)];
[barItems addObject:doneBtn];
[pickerToolbar setItems:barItems animated:YES];
myPickerView = [[UIPickerView alloc] init];
myPickerView.showsSelectionIndicator = YES;
CGRect pickerRect = myPickerView.bounds;
myPickerView.bounds = pickerRect;
myPickerView.frame = CGRectMake(0, 44, 320, 216);
UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 44, 320, 300)];
popoverView.backgroundColor = [UIColor whiteColor];
[popoverView addSubview:myPickerView];
[popoverView addSubview:pickerToolbar];
[self.view addSubview:popoverView];
}
// tell the picker how many rows are available for a given component
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: (NSInteger)component
{
int count = 0;
switch (selectedTextfieldValue)
{
case 1:
count =namesArray.count;
NSLog(@"%d",count);
break;
case 2:
count =genderArray.count;
NSLog(@"%d",count);
break;
case 3:
count =ageArray.count;
NSLog(@"%d",count);
break;
default:
NSLog(@"default in count");
break;
}
return count;
}
// tell the picker how many components it will have
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
// tell the picker the title for a given component
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSString *title;
switch (selectedTextfieldValue) {
case 1:
title =namesArray[row];
break;
case 2:
title =genderArray[row];
break;
case 3:
title =ageArray[row];
break;
default:
NSLog(@"default");
break;
}
return title;
// tell the picker the width of each row for a given component
-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
int sectionWidth = 300;
return sectionWidth;
}
-(void)pickerDone:(id)sender
{
NSLog(@"Done Clicked");
NSLog(@"Done Clicked%d",selectedTextfieldValue);
myPickerView.hidden=YES;
pickerToolbar.hidden=YES;
}
-(void)pickerCancel:(id)sender
{
NSLog(@"cancel");
myPickerView.hidden=YES;
pickerToolbar.hidden=YES;
}
@end
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
[self.view endEditing:YES];
if (textField==_text1)
{
_text1.delegate=self;
} else if(textField==_text2) {
_text2.delegate=self;
} else {
_text3.delegate=self;
}
selectedTextfieldValue=(int)textField.tag;
[myPickerView reloadAllComponents];
}