Ios 删除文本字段时出现问题
我有两个按钮用于添加和删除文本字段。添加工作正常,但当我单击delete时,它只删除最后添加的文本字段。以下是我的两种方法:Ios 删除文本字段时出现问题,ios,objective-c,uitextfield,Ios,Objective C,Uitextfield,我有两个按钮用于添加和删除文本字段。添加工作正常,但当我单击delete时,它只删除最后添加的文本字段。以下是我的两种方法: -(void)addTextField { keyTextField = [[UITextField alloc] initWithFrame:CGRectMake(10, yAxisDistance, 150, 30)]; keyTextField.borderStyle = UITextBorderStyleRoundedRect; keyTe
-(void)addTextField {
keyTextField = [[UITextField alloc] initWithFrame:CGRectMake(10, yAxisDistance, 150, 30)];
keyTextField.borderStyle = UITextBorderStyleRoundedRect;
keyTextField.placeholder = @"Key Value";
keyTextField.delegate = self;
[self.view addSubview:keyTextField];
valueTextField = [[UITextField alloc] initWithFrame:CGRectMake(165, yAxisDistance, 150, 30)];
valueTextField.borderStyle = UITextBorderStyleRoundedRect;
valueTextField.placeholder = @"Value";
valueTextField.delegate = self;
[self.view addSubview:valueTextField];
yAxisDistance = yAxisDistance+35;
}
-(void)deleteTextField {
[keyTextField removeFromSuperview];
[valueTextField removeFromSuperview];
yAxisDistance = yAxisDistance-35;
}
我知道这是一个小问题,但我对这个领域非常陌生,所以请帮助。使用此代码从UIView中删除特定的文本字段。但首先,在视图中创建或添加UITextField时,必须设置视图中每个UITextField的标记
for ( UITextField* textField in view.subviews )
{
if(textField.tag== 1)
{
[textField removeFromSuperview];
}
}
使用此代码从UIView中删除特定的文本字段。但首先,在视图中创建或添加UITextField时,必须设置视图中每个UITextField的标记
for ( UITextField* textField in view.subviews )
{
if(textField.tag== 1)
{
[textField removeFromSuperview];
}
}
使用此代码从UIView中删除特定的文本字段。但首先,在视图中创建或添加UITextField时,必须设置视图中每个UITextField的标记
for ( UITextField* textField in view.subviews )
{
if(textField.tag== 1)
{
[textField removeFromSuperview];
}
}
使用此代码从UIView中删除特定的文本字段。但首先,在视图中创建或添加UITextField时,必须设置视图中每个UITextField的标记
for ( UITextField* textField in view.subviews )
{
if(textField.tag== 1)
{
[textField removeFromSuperview];
}
}
对不起,当时我不明白你的问题 我完成了这个: 申报 NSMutableArray*allTextfieldArray 并在 viewdidload 方法。。 现在做:
对不起,当时我不明白你的问题 我完成了这个: 申报 NSMutableArray*allTextfieldArray 并在 viewdidload 方法。。 现在做:
对不起,当时我不明白你的问题 我完成了这个: 申报 NSMutableArray*allTextfieldArray 并在 viewdidload 方法。。 现在做:
对不起,当时我不明白你的问题 我完成了这个: 申报 NSMutableArray*allTextfieldArray 并在 viewdidload 方法。。 现在做:
将最后一个文本字段存储在变量keyTextField和valueTextField中。因此,当您调用deleteTextField时,最后两个字段都将被删除。您必须跟踪要删除的文本文件 例如,您可以在创建所有文本字段时为其指定一个标记号: 首先创建一个int作为计数器:
@implementation YourClass {
int tagcounter;
}
在init方法中设置计数器:
tagcounter = 0;
在addTextField中:
keyTextField.tag = tagcounter++;
valueTextField.tag = tagcounter++;
点击delete按钮时,您必须知道textfield标记并将其传递给deleteTextField方法。在那里,您可以执行以下操作:
-(void)deleteTextFieldWithTag:(int)tagnumber {
for (UIView *view in [self.view subviews])
{
if ([view isKindOfClass:[UITextField class]])
{
if (view.tag == tagnumber || view.tag == tagnumber+1) {
[view removeFromSuperview];
}
}
}
将最后一个文本字段存储在变量keyTextField和valueTextField中。因此,当您调用deleteTextField时,最后两个字段都将被删除。您必须跟踪要删除的文本文件 例如,您可以在创建所有文本字段时为其指定一个标记号: 首先创建一个int作为计数器:
@implementation YourClass {
int tagcounter;
}
在init方法中设置计数器:
tagcounter = 0;
在addTextField中:
keyTextField.tag = tagcounter++;
valueTextField.tag = tagcounter++;
点击delete按钮时,您必须知道textfield标记并将其传递给deleteTextField方法。在那里,您可以执行以下操作:
-(void)deleteTextFieldWithTag:(int)tagnumber {
for (UIView *view in [self.view subviews])
{
if ([view isKindOfClass:[UITextField class]])
{
if (view.tag == tagnumber || view.tag == tagnumber+1) {
[view removeFromSuperview];
}
}
}
将最后一个文本字段存储在变量keyTextField和valueTextField中。因此,当您调用deleteTextField时,最后两个字段都将被删除。您必须跟踪要删除的文本文件 例如,您可以在创建所有文本字段时为其指定一个标记号: 首先创建一个int作为计数器:
@implementation YourClass {
int tagcounter;
}
在init方法中设置计数器:
tagcounter = 0;
在addTextField中:
keyTextField.tag = tagcounter++;
valueTextField.tag = tagcounter++;
点击delete按钮时,您必须知道textfield标记并将其传递给deleteTextField方法。在那里,您可以执行以下操作:
-(void)deleteTextFieldWithTag:(int)tagnumber {
for (UIView *view in [self.view subviews])
{
if ([view isKindOfClass:[UITextField class]])
{
if (view.tag == tagnumber || view.tag == tagnumber+1) {
[view removeFromSuperview];
}
}
}
将最后一个文本字段存储在变量keyTextField和valueTextField中。因此,当您调用deleteTextField时,最后两个字段都将被删除。您必须跟踪要删除的文本文件 例如,您可以在创建所有文本字段时为其指定一个标记号: 首先创建一个int作为计数器:
@implementation YourClass {
int tagcounter;
}
在init方法中设置计数器:
tagcounter = 0;
在addTextField中:
keyTextField.tag = tagcounter++;
valueTextField.tag = tagcounter++;
点击delete按钮时,您必须知道textfield标记并将其传递给deleteTextField方法。在那里,您可以执行以下操作:
-(void)deleteTextFieldWithTag:(int)tagnumber {
for (UIView *view in [self.view subviews])
{
if ([view isKindOfClass:[UITextField class]])
{
if (view.tag == tagnumber || view.tag == tagnumber+1) {
[view removeFromSuperview];
}
}
}
我认为问题在于出口。你能检查一下吗
deleteTextField
方法中设置断点,并检查两个文本字段。验证这两个属性都不是nilPS:你不需要在视图中添加标签,使用属性是非常好的,在我看来甚至更好。你问题的原因是别的。另外,您不需要从SuperView中删除,也可以设置隐藏:是。我认为问题在于插座。你能检查一下吗
deleteTextField
方法中设置断点,并检查两个文本字段。验证这两个属性都不是nilPS:你不需要在视图中添加标签,使用属性是非常好的,在我看来甚至更好。你问题的原因是别的。另外,您不需要从SuperView中删除,也可以设置隐藏:是。我认为问题在于插座。你能检查一下吗
deleteTextField
方法中设置断点,并检查两个文本字段。验证这两个属性都不是nil