当我点击textField
时,打开UIPickerView
,然后选择PickerView数据,它在UITextField
上显示。但现在我有3个text_Filed(城市,typeofcars,分支机构),但我不知道关于单个UIPickerView
的三个textfields。所以请给我一些建议。
单个文本字段的UIPickerview
代码为:-
Businessname=[[UITextField alloc]init];
Businessname.frame=CGRectMake(0, 0, 221, 33);
Businessname.placeholder=@"Business Name";
[Businessname setFont:[UIFont fontWithName:@"Times New Roman" size:13]];
Businessname.backgroundColor=[UIColor whiteColor];
[Businessname setBorderStyle:UITextBorderStyleBezel];
Businessname.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
Businessname.layer.borderColor=[[UIColor yellowColor]CGColor];
Businessname.layer.borderWidth= 2.0f;
Businessname.textColor=[UIColor blackColor];
[scrol addSubview:Businessname];
yourpicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 400, 100, 150)];
[yourpicker setDataSource: self];
[yourpicker setDelegate: self];
yourpicker.showsSelectionIndicator = YES;
Businessname.inputView = yourpicker;
[yourpicker setShowsSelectionIndicator:YES];
mypickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 300, 100, 56)];
mypickerToolbar.barStyle = UIBarStyleBlackOpaque;
[mypickerToolbar sizeToFit];
NSMutableArray *barItems = [[NSMutableArray alloc] init];
UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[barItems addObject:flexSpace];
UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(pickerDoneClicked)];
[barItems addObject:doneBtn];
[mypickerToolbar setItems:barItems animated:YES];
Businessname.inputAccessoryView = mypickerToolbar;
-(void)pickerDoneClicked
{
NSLog(@"Done Clicked");
[Businessname resignFirstResponder];
mypickerToolbar.hidden=YES;
yourpicker.hidden=YES;
}
- (NSInteger)numberOfComponentsInPickerView:
(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component
{
return [pickarray count];
}
上面的代码是输出当我点击文本文件,然后打开UIPIckerView
,然后选择数据。但现在我有三个TextFields
和3个nsarray请如何传递数据数据到UIPickerView
基于UITextField
。所以请给我一些关于我的问题的建议
Thanks in Advanced
您可以通过为每个文本字段设置标记值来实现这一点。同时为每个文本域设置UITextField的委托。UITextField
- (void)textFieldDidBeginEditing:(UITextField *)textField
通过标签值来识别文本域。根据标签值执行类似
的操作//假设100,101,102是textfield
的标签值NSInteger tag = textField.tag;
switch(tag)
{
case 100:
pickarray = @[@"1",@"2",@"3",@"4"];
break;
case 101:
pickarray = @[@"10",@"20",@"30",@"40"];
break;
case 102:
pickarray = @[@"11",@"21",@"31",@"41"];
break;
default:
break;
}
通过这个你可以分配不同的值给"pickarray"根据选定的textfield和重新加载你的UIPickerView。