Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone中单个UIButton的多个操作_Iphone_Ios5_Uibutton - Fatal编程技术网

iPhone中单个UIButton的多个操作

iPhone中单个UIButton的多个操作,iphone,ios5,uibutton,Iphone,Ios5,Uibutton,**在我的视图中单击按钮时,我需要两个文本字段和另一个按钮(删除)。如果我再按一次,相同的动作最多可重复5次。如果我点击删除按钮,两个文本字段必须删除,下面的文本字段必须出现* -(IBAction)addBusiness:(id)sender { txtprovName2 = [[UITextField alloc]init]; [txtprovName2 setFrame:CGRectMake(13, 410,94, 30)]; [txtprovName2 setBo

**在我的视图中单击按钮时,我需要两个文本字段和另一个按钮(删除)。如果我再按一次,相同的动作最多可重复5次。如果我点击删除按钮,两个文本字段必须删除,下面的文本字段必须出现*

-(IBAction)addBusiness:(id)sender
{
    txtprovName2 = [[UITextField alloc]init];
    [txtprovName2 setFrame:CGRectMake(13, 410,94, 30)];
    [txtprovName2 setBorderStyle:UITextBorderStyleRoundedRect];
    [txtprovName2 setAutocorrectionType:UITextAutocorrectionTypeNo];
    txtprovName2.textAlignment=UITextAlignmentCenter;
    txtprovName2.placeholder=@"";
    txtprovName2.font=[UIFont fontWithName:@"System" size:11];
    [testscroll addSubview:txtprovName2];

    txtprovEmail2 =[[UITextField alloc]init];
    [txtprovEmail2 setFrame:CGRectMake(121, 410,92, 30)];
    [txtprovEmail2 setBorderStyle:UITextBorderStyleRoundedRect];
    [txtprovEmail2 setAutocorrectionType:UITextAutocorrectionTypeNo];
    txtprovEmail2.textAlignment=UITextAlignmentCenter;
    txtprovEmail2.placeholder=@"";
    txtprovEmail2.font=[UIFont fontWithName:@"System" size:11];

    [testscroll addSubview:txtprovEmail2];

    btnRemove1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btnRemove1.frame = CGRectMake(220, 410,80, 30);
    [btnRemove1 setTitle:@"Remove" forState:UIControlStateNormal];
    [btnRemove1.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];
    btnRemove1.titleLabel.textColor=[UIColor blackColor];

    [btnRemove1 addTarget:self
                   action:@selector(btnRemove1Clicked:)
         forControlEvents:UIControlEventTouchUpInside];

}

如何继续对同一按钮执行重复操作感谢帮助

您可以使用按钮的tag属性;所以在你的IBAction方法中

- (IBAction)buttonClicked:(UIButton *)sender {
    if (sender.tag == 1) {
        // perform your 1st functionality 
        button.tag = 2;   //To perform 2nd functionality

    }
    else if (sender.tag == 2) {
        // perform your Second functionality
        button.tag = 3; //To perform 3rd functionality

    }
    else if (sender.tag == 3) {
        // perform your 3rd functionality
        button.tag = 1; // To perform 1st functionality
    }
}
编辑:


只需使用标签即可。您将节省大量内存,工作正常

或u可以使用此方法

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
&以后使用

- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

这会解决你的问题。我希望。

我需要初始化标记值吗?但是当删除iam时遇到问题bcoz下面的文本字段必须出现否,您需要只设置button.tag=Value,对于要在该上下文中执行的功能…删除文本字段后,只需根据简单设置button.tag=1更改button的标记属性;当你初始化你的按钮时,你想在一次点击后调用此函数5次第一次点击后否如果我再次点击按钮,那么该函数必须执行操作标签值。如何删除文本字段[yourTextfield removeFromSuperView];请告诉我一些关于标签的想法。希哈尔·古普塔给出了一个关于标签按钮的好例子。始终使用标记以节省内存。