我可以在tableViewCell中添加Seven textfield,并使用storyboard设置不同的标签值。当在第一个单元格文本字段中输入值时,这些值可以在tableview其他单元格上显示。但我可以在不同的单元格文本区域输入不同的值。我可以像excel表一样使用tableview。 使用故事板由所有文本字段设置的标记值,需要通过编程设置标记值吗?
代码:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableViews{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
// Return the number of rows in the section.
return 100;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *cellIdentifier = @"cell";
UITableViewCell *cell = [_dairyTable dequeueReusableCellWithIdentifier:cellIdentifier];
[cell setSeparatorInset:UIEdgeInsetsZero];
tableView.allowsSelection=NO;
UITextField *textFieldName = (UITextField *) [cell viewWithTag:indexPath.row+100];
NSString *text = [textFieldName text];
NSLog(@"%@",text);
// UITextField *textFieldworkLocation = (UITextField *) [cell viewWithTag:2];
// UITextField *textFieldPrice = (UITextField *) [cell viewWithTag:3];
// UITextField *textFieldMeasuredWork = (UITextField *) [cell viewWithTag:4];
// UITextField *textFieldOwnSnags = (UITextField *) [cell viewWithTag:5];
// UITextField *textFieldRework = (UITextField *) [cell viewWithTag:6];
// UITextField *textFieldOthers = (UITextField *) [cell viewWithTag:7];
return cell;
}
-(void)textFieldDidEndEditing:(UITextField *)textField
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:([textField tag]-100) inSection:0];
UITableViewCell *Cell = [_dairyTable cellForRowAtIndexPath:indexPath];
NSLog(@"%@",Cell);
}
答案 0 :(得分:1)
正如您从storyboard
看到的那样,UITextField
只有1 reuseCell property
,而您的单元格是由tag
生成的,所以如果您从storyboard
提供UITextField
,那么每个tag
都有相同的Tag
,您永远不会区分它们。因此,请在cellForRow
中的运行时提供//and if you creating UITextfield in `uiTableView` then you have to create new custom `UITableViewcell`
cell.textField.tag = indexpath.row
,如下所示:
UITextField
如何处理UITextField
价值
首先,您必须创建可变数组,其计数等于arrDataText = ["","",... so on]
的数量。
最初,数组将每个数据都清空。 (像这样分配UITextField
)。
每个字符更改时,以相同的顺序保存数组中的每个textdidChange
值。因此,请使用UITextField
。{/ p>
cellForRow
委托方法代码
每当用户输入或编辑文本时,您都会在字典中获取该文本。
cell.textfiled.text = arrDataText[index.row]
添加以下行: UIColor
答案 1 :(得分:0)
使用属性"标记"
UITextField *textFieldName = [UITextField new];
textFieldName.tag = indexPath.row;