单击按钮时添加文本文件 Objective-C
Posted
技术标签:
【中文标题】单击按钮时添加文本文件 Objective-C【英文标题】:Adding textfiles when button is clicked Objective-C 【发布时间】:2017-03-03 06:47:46 【问题描述】:我正在研究有关按钮单击的功能,我的要求是我只有一个按钮,如果第一次单击按钮添加标签,如果第二次单击相同按钮添加另一个标签,例如 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;
【问题讨论】:
请展示您的尝试! 您的 stroyboard 中已经有 5 个标签了吗? 是的,我需要通过点击按钮来显示它们 【参考方案1】:您必须确定哪个按钮正在发送事件
-(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;
【讨论】:
不正确,总是执行 btn.tag==0 这只是表示您没有正确设置按钮标签。【参考方案2】:您可以根据点击更新标签。如果您想要多个标签,您可以继续,否则最后一次点击您将按钮标签设置为 0。
-(IBAction)btnAddClicked: (id) 发件人
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;
【讨论】:
【参考方案3】:如何做到这一点 1 使用 TableView 谁的单元格包含一个 textFld ,每次单击按钮时,将 UITableView 按单元格数更新一个最后计数.. 示例:首先单击将 indexPath/number/etc 添加到可变数组并重新加载 tableview 以获取该数组的计数,表格单元格将为一个单元格创建.. 现在,在第二次单击时,再向该数组添加一个并重新加载 tableview,现在 tableview 将为数组计数创建单元格,现在为 2 ... SO On。希望你能得到它
【讨论】:
2.使用 UIStackView 并在每次单击时创建一个 UITextFld 并将其作为该 stackView 的子视图 ..【参考方案4】:以下代码用于创建 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];
【讨论】:
问题被标记为 objective-c 而不是 swift。以上是关于单击按钮时添加文本文件 Objective-C的主要内容,如果未能解决你的问题,请参考以下文章