objective c 如何根据 select 第一个文本字段项目删除第二个和第三个文本字段中的项目

objective c how to remove the item in second and third text field based on select the first text field item

我有一个 UIPickerview。我有 json 回复。我有三个文本字段。如果用户 select 第一个文本字段显示选择器视图然后用户 select 特定项目。第二个和第三个文本字段也相同。我的要求是,如果用户 select 第一个选择器视图中的特定项目,第二个和第三个选择器视图不显示该项目。第二个和第三个也一样。

-(void)viewDidLoad
{

dataArray = [[NSMutableArray alloc]initWithObjects:@"A+",@"A-",@"B+",@"B-",@"O+",@"O-", nil];

bloodGroup = [[UITextField alloc]initWithFrame:CGRectMake(10, logoImg.frame.origin.y+logoImg.frame.size.height+45, screenWidth-20, 50)];

bloodGroup.borderStyle = UITextBorderStyleRoundedRect;

bloodGroup.font = [UIFont systemFontOfSize:15];

bloodGroup.placeholder = @"Please Select Your Option";

bloodGroup.delegate = self;

[self.view addSubview:bloodGroup];

txtField1 = [[UITextField alloc]initWithFrame:CGRectMake(10, ansField1.frame.origin.y+ansField1.frame.size.height+45, screenWidth-20, 50)];

txtField1.borderStyle = UITextBorderStyleRoundedRect;

txtField1.font = [UIFont systemFontOfSize:15];

txtField1.placeholder = @"Please Select Your Option";

txtField1.delegate = self;

[self.view addSubview:txtField1];

txtField2 = [[UITextField alloc]initWithFrame:CGRectMake(10, ansField2.frame.origin.y+ansField2.frame.size.height+45, screenWidth-20, 50)];

txtField2.borderStyle = UITextBorderStyleRoundedRect;

txtField2.font = [UIFont systemFontOfSize:15];

txtField2.placeholder = @"Please Select Your Option";

txtField2.delegate = self;

[self.view addSubview:txtField2];

myPickerView = [[UIPickerView alloc] init];

[myPickerView setDataSource: self];

[myPickerView setDelegate: self];

myPickerView.showsSelectionIndicator = YES;

bloodGroup.inputView = myPickerView;

bloodGroup.inputAccessoryView = toolBar;

// txtField1

txtField1.inputView = myPickerView;

txtField1.inputAccessoryView = toolBar;

txtField2.inputView = myPickerView;

txtField2.inputAccessoryView = toolBar;

}

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {

if (isBloodGroupFieldSelected) {

return 1;

}

else if(!isBloodGroupFieldSelected){

return 1;

}

else if(!isGenderGroupFieldSelected)

{

return 1;

}

return 0;

}

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{

if (isBloodGroupFieldSelected) {

return [dataArray count];

}

else if(!isBloodGroupFieldSelected)

{

return [dataArray count];

}

else if (!isGenderGroupFieldSelected)

{

return [dataArray count];

}

return 0;

}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {

if (isBloodGroupFieldSelected)

{

return dataArray[row];

}

else if((!isBloodGroupFieldSelected) && (isGenderGroupFieldSelected))

{

return dataArray[row];

}

else if(!isGenderGroupFieldSelected)

{

return dataArray[row];

}

return 0;

}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

if (isBloodGroupFieldSelected) {

bloodGroup.text = dataArray[row];

}

else if((!isBloodGroupFieldSelected) && (isGenderGroupFieldSelected))

{

txtField1.text = dataArray[row];

}

else if(!isGenderGroupFieldSelected)

{

txtField2.text= dataArray[row];

}

}

- (void)textFieldDidBeginEditing:(UITextField *)textField {

if (textField == bloodGroup) {

isBloodGroupFieldSelected = YES;

}

else if (textField == txtField1){

isBloodGroupFieldSelected = NO;

isGenderGroupFieldSelected = YES;

}

else if (textField == txtField2) {

isGenderGroupFieldSelected = NO;

isBloodGroupFieldSelected = NO;

}

[myPickerView reloadAllComponents];

}

-(void)viewDidLoad {

dataArray = [[NSMutableArray alloc]initWithObjects:@"A+",@"A-",@"B+",@"B-",@"O+",@ "O-", 无];

bloodGroup = [[UITextField alloc]initWithFrame:CGRectMake(10, logoImg.frame.origin.y+logoImg.frame.size.height+45, screenWidth-20, 50)];

bloodGroup.borderStyle = UITextBorderStyleRoundedRect;

bloodGroup.font = [UIFont systemFontOfSize:15];

bloodGroup.placeholder = @"Please Select Your Option";

bloodGroup.delegate = 自己;

[self.view addSubview:bloodGroup];

txtField1 = [[UITextField alloc]initWithFrame:CGRectMake(10, ansField1.frame.origin.y+ansField1.frame.size.height+45, screenWidth-20, 50)];

txtField1.borderStyle = UITextBorderStyleRoundedRect;

txtField1.font = [UIFont systemFontOfSize:15];

txtField1.placeholder = @"Please Select Your Option";

txtField1.delegate = 自己;

[self.view addSubview:txtField1];

txtField2 = [[UITextField alloc]initWithFrame:CGRectMake(10, ansField2.frame.origin.y+ansField2.frame.size.height+45, screenWidth-20, 50)];

txtField2.borderStyle = UITextBorderStyleRoundedRect;

txtField2.font = [UIFont systemFontOfSize:15];

txtField2.placeholder = @"Please Select Your Option";

txtField2.delegate = 自己;

[self.view addSubview:txtField2];

myPickerView = [[UIPickerView 分配] 初始化];

[myPickerView setDataSource: self];

[myPickerView setDelegate: self];

myPickerView.showsSelectionIndicator = 是;

bloodGroup.inputView = myPickerView;

bloodGroup.inputAccessoryView = 工具栏;

// txtField1

txtField1.inputView = myPickerView;

txtField1.inputAccessoryView = 工具栏;

txtField2.inputView = myPickerView;

txtField2.inputAccessoryView = 工具栏;

}

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {

if (isBloodGroupFieldSelected) {

return1;

}

否则如果(!isBloodGroupFieldSelected){

return1;

}

else if(!isGenderGroupFieldSelected)

{

return1;

}

return 0;

}

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {

if (isBloodGroupFieldSelected) {

return [dataArray 计数];

}

else if(!isBloodGroupFieldSelected)

{

return [dataArray 计数];

}

else if (!isGenderGroupFieldSelected)

{

return [dataArray 计数];

}

return 0;

}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {

if (isBloodGroupFieldSelected)

{

return 数据数组[行];

}

else if((!isBloodGroupFieldSelected) && (isGenderGroupFieldSelected))

{

return 数据数组[行];

}

else if(!isGenderGroupFieldSelected)

{

return 数据数组[行];

}

return 0;

}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

if (isBloodGroupFieldSelected) {

bloodGroup.text = 数据数组[行];

}

else if((!isBloodGroupFieldSelected) && (isGenderGroupFieldSelected))

{

txtField1.text = 数据数组[行];

}

else if(!isGenderGroupFieldSelected)

{

txtField2.text=数据数组[行];

}

}

  • (void)textFieldDidBeginEditing:(UITextField *)textField {

if (textField == bloodGroup) {

isBloodGroupFieldSelected = 是;

}

else if (textField == txtField1){

isBloodGroupFieldSelected = 否;

isGenderGroupFieldSelected = 是;

}

else if (textField == txtField2) {

isGenderGroupFieldSelected = 否;

isBloodGroupFieldSelected = 否;

}

[myPickerView reloadAllComponents];

}

  • (void)textFieldDidBeginEditing:(UITextField *)textField {

if (textField == bloodGroup) {

isBloodGroupFieldSelected = 是;

}else if (textField == txtField1){

isBloodGroupFieldSelected = 否;

isGenderGroupFieldSelected = 是;

}

else if (textField == txtField2){

isGenderGroupFieldSelected = 否;

isBloodGroupFieldSelected = 否;

}

[myPickerView reloadAllComponents];

}

  • (void)viewWillAppear:(BOOL)动画{

[超级viewWillAppear:animated];

[myPickerView selectRow:0 inComponent:0 animated:YES];

}

-(void)完成:(id)发件人

{

[myPickerView selectRow:0 inComponent:0 animated:YES]; // 2020 年 4 月 27 日

[bloodGroup resignFirstResponder];

[txtField1 resignFirstResponder];

[txtField2 resignFirstResponder];

}