Iphone 单击按钮时将单元格动态添加到UItableview

Iphone 单击按钮时将单元格动态添加到UItableview,iphone,uitableview,Iphone,Uitableview,我有2个UITextField和一个按钮,当我在填充这些内容后单击按钮时,我必须在tableview单元格中获得格式相同的UItextfields和按钮,当我填充这些内容时,单击按钮必须将相同的文本字段添加到下一个单元格中,保持上面的单元格相同,并且文本字段中的数据不会被删除 我是这个程序的新手,我不知道当按钮点击时如何将视图添加到单元格中 帮我摆脱困境 -(IBAction)btnaddbusiness:(UIButton*)sender { tableView=[[UITableV

我有2个UITextField和一个按钮,当我在填充这些内容后单击按钮时,我必须在tableview单元格中获得格式相同的UItextfields和按钮,当我填充这些内容时,单击按钮必须将相同的文本字段添加到下一个单元格中,保持上面的单元格相同,并且文本字段中的数据不会被删除

我是这个程序的新手,我不知道当按钮点击时如何将视图添加到单元格中 帮我摆脱困境

 -(IBAction)btnaddbusiness:(UIButton*)sender
{
    tableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 370, 300, 30)];

    tableView.delegate=self;
    tableView.dataSource=self;
    [testscroll addSubview:tableView];
        i=i+1;
    if(sender.tag==1 || i==1)
    {

        if([txtprovEmail1.text isEqualToString:@""] && [txtprovName1.text isEqualToString:@""])
        {

        }
        else
        {
            testscroll.contentSize=CGSizeMake(320, 500);
            view1=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 300, 30)];

            txtprovName2 =[[UITextField alloc]init];
            [txtprovName2 setFrame:CGRectMake(0,0,116, 30)];
            [txtprovName2 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovName2 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovName2.textAlignment=UITextAlignmentCenter;
            txtprovName2.placeholder=@"Provider Name";
            txtprovName2.font=[UIFont fontWithName:@"System" size:11];
            txtprovName2.userInteractionEnabled=YES;
            [view1 addSubview:txtprovName2];

            txtprovEmail2 =[[UITextField alloc]init];
            [txtprovEmail2 setFrame:CGRectMake(130, 0,116, 30)];
            [txtprovEmail2 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovEmail2 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovEmail2.textAlignment=UITextAlignmentCenter;
            txtprovEmail2.placeholder=@"Provider Email";
            txtprovEmail2.font=[UIFont fontWithName:@"System" size:11];
            txtprovEmail2.userInteractionEnabled=YES;
            [view1 addSubview:txtprovEmail2];

            btnRemove1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btnRemove1.frame = CGRectMake(268, 0,80, 30);
            [btnRemove1 setTitle:@"Remove" forState:UIControlStateNormal];
            [btnRemove1.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];
            // [ btnRemove1 setBackgroundImage:[UIImage imageNamed:@"background-button.png"] forState:UIControlStateNormal];
            btnRemove1.titleLabel.textColor=[UIColor blackColor];
            btnRemove1.tag=1;

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

          /*  btnsubmit = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btnsubmit.frame = CGRectMake(40, 470,80, 30);
            [btnsubmit setTitle:@"Submit" forState:UIControlStateNormal];
            [btnsubmit.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];

            btnsubmit.titleLabel.textColor=[UIColor blackColor];

            [btnsubmit addTarget:self
                          action:@selector(btnsubmitclicked)
                forControlEvents:UIControlEventTouchUpInside];
            [ testscroll addSubview: btnsubmit];*/



          /*
            btnreset = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btnreset.frame = CGRectMake(100, 470,80, 30);
            [btnreset setTitle:@"Reset" forState:UIControlStateNormal];
            [btnreset.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];

            btnreset.titleLabel.textColor=[UIColor blackColor];

            [btnreset addTarget:self
                         action:@selector(btnResetclicked)
               forControlEvents:UIControlEventTouchUpInside];
            [ testscroll addSubview: btnreset];




            */



            sender.tag=2;

        }
    }

    else if(sender.tag==2|| i==2)
    {

        if(txtprovEmail2.text==NULL && txtprovName2.text==NULL)
        {

        }
        else
        {

            testscroll.contentSize=CGSizeMake(320, 600);
            testscroll.pagingEnabled=YES;
            view2=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 300, 30)];
            txtprovName3 =[[UITextField alloc]init];
            [txtprovName3 setFrame:CGRectMake(20, 470,94, 30)];
            [txtprovName3 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovName3 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovName3.textAlignment=UITextAlignmentCenter;
            txtprovName3.placeholder=@"Provider Name";
            txtprovName3.font=[UIFont fontWithName:@"System" size:11];
            txtprovName3.userInteractionEnabled=YES;
            [view2 addSubview:txtprovName3];

            txtprovEmail3 =[[UITextField alloc]init];
            [txtprovEmail3 setFrame:CGRectMake(118, 470,92, 30)];
            [txtprovEmail3 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovEmail3 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovEmail3.textAlignment=UITextAlignmentCenter;
            txtprovEmail3.placeholder=@"Provider Email";
            txtprovEmail3.font=[UIFont fontWithName:@"System" size:11];
            txtprovEmail3.userInteractionEnabled=YES;

            [view2 addSubview:txtprovEmail3];

            btnRemove2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btnRemove2.frame=CGRectMake(210, 470, 80, 30) ;
            [btnRemove2 setTitle:@"Remove" forState:UIControlStateNormal];
            [btnRemove2.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];
            // [ btnRemove1 setBackgroundImage:[UIImage imageNamed:@"background-button.png"] forState:UIControlStateNormal];
            btnRemove2.titleLabel.textColor=[UIColor blackColor];

           /* [btnRemove2 addTarget:self    action:@selector(btnRemove2Clicked)
                 forControlEvents:UIControlEventTouchUpInside];*/
            btnRemove2.tag=2;
            [view2 addSubview:btnRemove2];

            [btnreset removeFromSuperview];
            [btnsubmit removeFromSuperview];


            [ btnsubmit setFrame:CGRectMake(80, 510, 50, 30)];
            [btnreset setFrame:CGRectMake(80, 510, 50, 30)];

            sender.tag=3;

        }
    }

    else if(sender.tag==3 || i==3)
    {

        if(txtprovEmail3.text==NULL && txtprovName3.text==NULL)
        {

        }
        else
        {

            testscroll.contentSize=CGSizeMake(320, 700);

            txtprovName4 =[[UITextField alloc]init];
            [txtprovName4 setFrame:CGRectMake(20, 510,94, 30)];
            [txtprovName4 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovName4 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovName4.textAlignment=UITextAlignmentCenter;
            txtprovName4.placeholder=@"Provider Name";
            txtprovName4.font=[UIFont fontWithName:@"System" size:11];
            txtprovName4.userInteractionEnabled=YES;
            [testscroll addSubview:txtprovName4];

            txtprovEmail4 =[[UITextField alloc]init];
            [txtprovEmail4 setFrame:CGRectMake(118, 510,92, 30)];
            [txtprovEmail4 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovEmail4 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovEmail4.textAlignment=UITextAlignmentCenter;
            txtprovEmail4.placeholder=@"Provider Email";
            txtprovEmail4.font=[UIFont fontWithName:@"System" size:11];
            txtprovEmail4.userInteractionEnabled=YES;

            [testscroll addSubview:txtprovEmail4];

            btnRemove3 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btnRemove3.frame = CGRectMake(210, 510,80, 30);
            [btnRemove3 setTitle:@"Remove" forState:UIControlStateNormal];
            [btnRemove3.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];
            // [ btnRemove1 setBackgroundImage:[UIImage imageNamed:@"background-button.png"] forState:UIControlStateNormal];
            btnRemove3.titleLabel.textColor=[UIColor blackColor];

            [btnRemove3 addTarget:self    action:@selector(btnRemove3Clicked)
                 forControlEvents:UIControlEventTouchUpInside];
            btnRemove3.tag=3;
            [testscroll addSubview:btnRemove3];

            [btnreset removeFromSuperview];
            [btnsubmit removeFromSuperview];

            [ btnsubmit setFrame:CGRectMake(40, 550, 50, 30)];
            [btnreset setFrame:CGRectMake(100, 550, 50, 30)];
            sender.tag=4;

        }
    }
    else if(sender.tag==4||i==4)
    {

        if(txtprovEmail4.text==NULL && txtprovName4.text==NULL)
        {

        }
        else
        { testscroll.contentSize=CGSizeMake(320, 800);
            txtprovName5 =[[UITextField alloc]init];
            [txtprovName5 setFrame:CGRectMake(20, 550,94, 30)];
            [txtprovName5 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovName5 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovName5.textAlignment=UITextAlignmentCenter;
            txtprovName5.placeholder=@"Provider Name";
            txtprovName5.font=[UIFont fontWithName:@"System" size:11];
            txtprovName5.userInteractionEnabled=YES;
            [testscroll addSubview:txtprovName5];

            txtprovEmail5 =[[UITextField alloc]init];
            [txtprovEmail5 setFrame:CGRectMake(118, 550,92, 30)];
            [txtprovEmail5 setBorderStyle:UITextBorderStyleRoundedRect];
            [txtprovEmail5 setAutocorrectionType:UITextAutocorrectionTypeNo];
            txtprovEmail5.textAlignment=UITextAlignmentCenter;
            txtprovEmail5.placeholder=@"Provider Email";
            txtprovEmail5.font=[UIFont fontWithName:@"System" size:11];
            txtprovEmail5.userInteractionEnabled=YES;

            [testscroll addSubview:txtprovEmail5];

            btnRemove4 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btnRemove4.frame = CGRectMake(210, 550,80, 30);
            [btnRemove4 setTitle:@"Remove" forState:UIControlStateNormal];
            [btnRemove4.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];
            // [ btnRemove1 setBackgroundImage:[UIImage imageNamed:@"background-button.png"] forState:UIControlStateNormal];
            btnRemove4.titleLabel.textColor=[UIColor blackColor];

            [btnRemove4 addTarget:self    action:@selector(btnRemove4Clicked)
                 forControlEvents:UIControlEventTouchUpInside];
            btnRemove4.tag=4;
            [testscroll addSubview:btnRemove4];
            testscroll.scrollEnabled=YES;


            [btnreset removeFromSuperview];
            [btnsubmit removeFromSuperview];

            [ btnsubmit setFrame:CGRectMake(40, 690, 50, 30)];
            [btnreset setFrame:CGRectMake(100, 690, 50, 30)];



        }
    }
}

您可以从下载示例应用程序

以下链接也将帮助您

编辑:

您只需在
-(iAction)btnaddbusiness:(UIButton*)sender中重新加载
[tablename reloadData];
)您的表

正在添加的视图应该位于
rowForIndexPath:


您可以在函数中将一个变量布尔值设置为真值重新加载您的表,并在
rowForIndexPath
中,检查该变量是否为true,然后将视图的hidden属性设置为False,反之亦然。

单击addbutton时,尝试在自定义uitableviewcell上搜索我想向tableviewcell添加另一个视图,就像这样如何使用标记动态添加单元格您可以添加视图并将其隐藏在开始和单击按钮时,重新加载表并根据条件将hidden设置为false。请参阅我的相关编辑。我想将这些功能添加到表视图中。我如何为IndexPath处的行的单元格中的不同行添加这些功能?您可以在rowForIndexPath中创建txtprovName2并将其添加到行中,如
[cell.contentView addSubview:txtprovName2];