单击按钮时添加文本文件Objective-C

时间:2017-03-03 06:47:47

标签: ios objective-c iphone xcode uibutton

我正在开发关于按钮点击的功能,我的要求是我只有一个按钮,如果点击按钮第一次添加标签,如果第二次点击相同按钮则添加另一个标签,如5次单击按钮应添加5个标签。

-(IBAction) btnAddClicked: (id) sender {
    if (_btnAdd.tag == 0) {
        _lblAdd1.hidden = YES;
    }
    if (_btnAdd.tag == 1) {
        _lblAdd2.hidden = YES;
    }
    if (_btnAdd.tag == 2) {
        _lblAdd3.hidden = YES;
    }
    if (_btnAdd.tag == 3) {
        _lblAdd4.hidden = YES;
    }
}

4 个答案:

答案 0 :(得分:0)

您必须确定发送事件的按钮

-(IBAction)btnAddClicked: (id) sender {
    //Typecast to retrieve tag of current button.
    UIButton *btn = (UIButton * ) sender;
    if (btn.tag == 0) {
        _lblAdd1.hidden = YES;
    }
    if (btn.tag == 1) {
        _lblAdd2.hidden = YES;
    }
    if (btn.tag == 2) {
        _lblAdd3.hidden = YES;
    }
    if (btn.tag == 3) {
        _lblAdd4.hidden = YES;
    }
}

答案 1 :(得分:0)

您可以根据点击更新标记。如果您想要多个可以继续,或者最后点击您将按钮标记设置为0。

- (IBAction)btnAddClicked:(id)sender {

UIButton * btn =(UIButton *)发件人;

if (btn.tag == 0) {
    _lblAdd1.hidden = YES;
    btn.tag = 1;
}
else if (btn.tag == 1) {
    _lblAdd2.hidden = YES;
    btn.tag = 2;
}
else if (btn.tag == 2) {
    _lblAdd3.hidden = YES;
    btn.tag = 3;
}
else if (btn.tag == 3) {
    _lblAdd4.hidden = YES;
    btn.tag = 0;
}

答案 2 :(得分:0)

以下代码适用于n个动态文本字段的创建:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _count; }

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
TextViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
return cell; }

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 30)];
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 30)];
[button setTitle:@"Add TextField" forState:UIControlStateNormal];
button.backgroundColor = [UIColor blueColor];
[button addTarget:self action:@selector(addTextField) forControlEvents:UIControlEventTouchUpInside];
[footerView addSubview:button];
return footerView;  }

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 30;  }

-(void)addTextField{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_count inSection:0];
_count++;
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; }

答案 3 :(得分:0)

如何做到这一点 1使用TableView的单元格包含textFld,每次单击按钮时,更新UITableView按单元格数最后一次计数。 示例:首先单击将indexPath / number / etc添加到可变数组并重新加载tableview以获取该数组的计数,表单元格将为一个单元格创建.. 现在在第二次单击时再向该数组添加一个并重新加载tableview,现在tableview将为数组计数创建单元格,现在为2 ... SO On。希望你能得到它