Iphone 如何在选择多个文本字段时添加选择器,我已经有一个文本字段在工作了?

Iphone 如何在选择多个文本字段时添加选择器,我已经有一个文本字段在工作了?,iphone,sdk,uitextfield,uipickerview,Iphone,Sdk,Uitextfield,Uipickerview,我的Nib文件上已经连接了三个TextField插座 IBOutlet UITextField *myTextField; IBOutlet UITextField *myTextFieldd; IBOutlet UITextField *myTextFields; 现在我尝试添加一个选择器,当您选择myTextFieldd和myTextFields时弹出,请注意myTextField工作得非常好。我还尝试使用相同的选择器来弹出三个文本字段 代码: #导入“pickrapviewcontrol

我的Nib文件上已经连接了三个TextField插座

IBOutlet UITextField *myTextField;
IBOutlet UITextField *myTextFieldd;
IBOutlet UITextField *myTextFields;
现在我尝试添加一个选择器,当您选择myTextFieldd和myTextFields时弹出,请注意myTextField工作得非常好。我还尝试使用相同的选择器来弹出三个文本字段

代码:
#导入“pickrapviewcontroller.h”

@implementation pickrapviewcontroller
@合成类别射线,选择类别;
-(无效)viewDidLoad{
[超级视图下载];
categoryArray=[[NSMutableArray alloc]initWithObjects:@“Jack”,“Jone”,nil];
}
-(BOOL)textField应该开始编辑:(UITextField*)textField
{
如果(textField==myTextField)
{
[numberTextField辞职FirstResponder];
如果([myTextField.text isEqualToString:@”“])){
myTextField.text=[self.categoryArray objectAtIndex:0];
}   
恩西特格尔·皮克罗;
对于(NSInteger i=0;i<[self.categoryArray count];i++){
NSString*string=[self.categoryArray objectAtIndex:i];
if([string isEqualToString:myTextField.text]){
pickerRow=i;
break;//一旦我们有了它,就可以跳出循环
}
}
[picker selectRow:pickerRow不完整:0动画:否];
pickrView.frame=CGRectMake(0,500,pickrView.frame.size.width,pickrView.frame.size.height);
[UIView beginAnimations:nil上下文:NULL];
[UIView setAnimationDuration:.50];
[UIView setAnimationDelegate:self];
pickrView.frame=CGRectMake(0,300,pickrView.frame.size.width,pickrView.frame.size.height);
[self.view addSubview:pickerview];
[UIView委员会];
返回否;
}
如果([pickrView superview]){
[PickerDown的自动画];
}
返回YES;
}
-(无效)触摸开始:(NSSet*)触摸事件:(UIEvent*)事件
{
如果([pickrView superview]){
[PickerDown的自动画];
}
}
-(无效)未收到记忆警告{
//如果视图没有superview,则释放该视图。
[超级记忆警告];
//释放所有未使用的缓存数据、图像等。
}
#布拉格标记
#pragma-mark-PickrView数据源方法
-(void)pickerView:(UIPickerView*)pickerView未选择行:(NSInteger)行不完整项:(NSInteger)组件
{
self.selectedCategory=[NSString stringWithFormat:@“%@,[categoryArray对象索引:行]];
myTextField.text=self.selectedCategory;
[PickerDown的自动画];
}
-(NSInteger)PickerView中的组件编号:(UIPickerView*)PickerView
{
返回1;
}
-(NSInteger)pickerView:(UIPickerView*)组件:(NSInteger)组件中行的pickerView编号
{
返回[self.categoryArray count];
}
-(NSString*)pickerView:(UIPickerView*)组件的pickerView标题箭头:(NSInteger)行:(NSInteger)组件
{
返回[self.categoryArray objectAtIndex:row];
}
-(无效)PickerDown的动画
{
[UIView beginAnimations:nil上下文:NULL];
pickrView.frame=CGRectMake(0,300,pickrView.frame.size.width,pickrView.frame.size.height);
[UIView setAnimationDuration:.50];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(stopAnimation)];
pickrView.frame=CGRectMake(0,500,pickrView.frame.size.width,pickrView.frame.size.height);
[UIView委员会];
}
-(void)停止动画
{
如果([pickrView superview]){
[PickerView removeFromSuperview];
}
}
-(无效)视图卸载{
//释放主视图的所有保留子视图。
//例如,self.myOutlet=nil;
}
-(无效)解除锁定{
[super dealoc];
[myTextField发布];
[PickerView发布];
[选定类别发布];
}
@结束

谢谢

为其他文本字段设置委托,然后删除条件if(textField==myTextField)

删除

if([pickrView superview]){
    [self animationForPickrDown];
}

    return YES;

如果其中一个显示,而另两个不显示,你只需在(textField==myTextField)的情况下注释这个条件。我已经为myTextField做了注释,但是其他两个textField(myTextField和myTextFields)呢??
if([pickrView superview]){
    [self animationForPickrDown];
}

    return YES;