【发布时间】:2013-12-24 05:25:34
【问题描述】:
您好,我正在开发一个 iphone 应用程序,其中填充了一个 uipickerview,它与一个 uitextfield 配合得很好。但是我有 4 个需要填充的 uitextfield,并且我为每个 UItextfield 使用相同的 uipickerview。我不知道如何实现这个东西。
Pickerviewcontroller.m
arrChooseServices=[[NSMutableArray alloc]initWithObjects:@"A+ve",@"A-ve",@"B+ve",@"B-ve",@"AB+ve",@"AB-ve",@"O+ve",@"O-ve", nil];
// Create UITextfield
bloodGroup=[[UITextField alloc]initWithFrame:CGRectMake(150, 200, 120, 20)];
bloodGroup.borderStyle=UITextBorderStyleRoundedRect;
bloodGroup.backgroundColor=[UIColor clearColor];
bloodGroup.backgroundColor=[UIColor colorWithRed:0.662745 green:0.662745 blue:0.662745 alpha:0.5];
[bloodGroup setUserInteractionEnabled:NO];
bloodGroup.font=[UIFont systemFontOfSize:14.0];
bloodGroup.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
bloodGroup.textAlignment=NSTextAlignmentCenter;
bloodGroup.delegate=self;
bloodGroup.inputView=self.chooseServicePicker;
bloodGroup.inputAccessoryView=self.accessoryView;
[self.view addSubview:bloodGroup];
-(UIPickerView *)chooseServicePicker
{
if(chooseServicePicker==nil)
{
chooseServicePicker=[[UIPickerView alloc]init];
chooseServicePicker.delegate=self;
chooseServicePicker.dataSource=self;
chooseServicePicker.showsSelectionIndicator=YES;
}
return chooseServicePicker;
}
-(UIToolbar *)accessoryView
{
if ( accessoryView == nil )
{
accessoryView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(onVehicleSelection)];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancel)];
accessoryView.items=[NSArray arrayWithObjects:doneButton,cancelButton, nil];
}
return accessoryView;
}
- (void)onVehicleSelection
{
NSInteger row = [self.chooseServicePicker selectedRowInComponent:0];
bloodGroup.text=[arrChooseServices objectAtIndex:row];
[bloodGroup resignFirstResponder];
}
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [arrChooseServices objectAtIndex:row];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return ( arrChooseServices == nil ) ? 0 : [arrChooseServices count];
}
-(void)cancel
{
bloodGroup.text=@"";
[bloodGroup resignFirstResponder];
}
这是我的代码。现在我想使用相同的 UIPickerview 在另一个文本字段中显示另一个数组值
gender=[NSMutableArray alloc]initWithObjectis:@"MALE",@"Female",nil];
我想在 Uipickerview 中添加的上述数组值。如何编写代码。请给我任何想法。我是编程新手。提前致谢
【问题讨论】:
-
您是否需要为所有文本字段显示相同元素的选择器..
-
不,先生,我想使用 sample pickerview 在不同的 uitextfields 中显示不同的数组值
-
我已经提交了我的代码,首先将其用作示例并检查它是否适合我。如果您对代码有任何疑问,请随时询问
标签: ios iphone objective-c uitextfield uipickerview