使用可编辑的 UITextfields 插入一个新的 UITableView 行
INSERT a new UITableView row with Editable UITextfields
我已经为此工作很多天了,但似乎无法让它发挥作用。这甚至可能是不可能的,但一定有办法!
我想插入一个新的 uitableview 行,其中包含两个插入后可编辑的 uitextfields。我读过的所有内容都说你应该在添加单元格之前更新你的数据模型数组,这意味着 texfields 需要其中的文本,然后在插入行之前添加到数组中。我试图添加一个提示文本,但是一旦添加了单元格,我就可以点击文本字段,但我无法更改已经存在的内容(我的提示文本)。除了能够进入它们之外,文本视图没有响应。如何做到这一点?
我正在展示一个 UIDatePicker 来填充应用首次启动时创建的单行的文本字段。我希望用户能够在他们第二次阅读一本书(或更多!)时添加另一行。添加下一行后,文本字段不再使用 datePicker 的值进行更新。
我尝试使用其中带有文本字段的警报视图(我使用的是 URBAlertView),以便用户可以在添加新行之前添加他们的日期,但我无法实现它。
如果您需要更多代码或者这是否可行,请告诉我。预先感谢您的帮助!
- (IBAction)addNewRowButtonTapped:(id)sender {
[self showDatePicker];
[self.tableView beginUpdates];
_cell.startDateTextfield.text = @"add start date";
_cell.finishDateTextfield.text = @"add finish date";
//these two lines give me errors and causes a crash
//[_book.startReadArray addObject:_cell.startDateTextfield.text];
//[_book.finishReadArray addObject:_cell.finishDateTextfield.text];
NSArray *paths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:[_book.startReadArray count]-1 inSection:1]];
[[self tableView] insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationTop];
_numberOfRows ++;
[self.tableView endUpdates];
}
这应该相对简单,使用 UITextField 创建一个自定义视图,确保它已正确注册到 tableView,以便您可以将其出列,并且您的 UITextField 应该可用。
我已经为您设置了一个演示项目来演示这一点:https://github.com/ekscrypto/Swift-Tutorial-InsertTextfield
祝你好运!
我已经为此工作很多天了,但似乎无法让它发挥作用。这甚至可能是不可能的,但一定有办法!
我想插入一个新的 uitableview 行,其中包含两个插入后可编辑的 uitextfields。我读过的所有内容都说你应该在添加单元格之前更新你的数据模型数组,这意味着 texfields 需要其中的文本,然后在插入行之前添加到数组中。我试图添加一个提示文本,但是一旦添加了单元格,我就可以点击文本字段,但我无法更改已经存在的内容(我的提示文本)。除了能够进入它们之外,文本视图没有响应。如何做到这一点?
我正在展示一个 UIDatePicker 来填充应用首次启动时创建的单行的文本字段。我希望用户能够在他们第二次阅读一本书(或更多!)时添加另一行。添加下一行后,文本字段不再使用 datePicker 的值进行更新。
我尝试使用其中带有文本字段的警报视图(我使用的是 URBAlertView),以便用户可以在添加新行之前添加他们的日期,但我无法实现它。
如果您需要更多代码或者这是否可行,请告诉我。预先感谢您的帮助!
- (IBAction)addNewRowButtonTapped:(id)sender {
[self showDatePicker];
[self.tableView beginUpdates];
_cell.startDateTextfield.text = @"add start date";
_cell.finishDateTextfield.text = @"add finish date";
//these two lines give me errors and causes a crash
//[_book.startReadArray addObject:_cell.startDateTextfield.text];
//[_book.finishReadArray addObject:_cell.finishDateTextfield.text];
NSArray *paths = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:[_book.startReadArray count]-1 inSection:1]];
[[self tableView] insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationTop];
_numberOfRows ++;
[self.tableView endUpdates];
}
这应该相对简单,使用 UITextField 创建一个自定义视图,确保它已正确注册到 tableView,以便您可以将其出列,并且您的 UITextField 应该可用。
我已经为您设置了一个演示项目来演示这一点:https://github.com/ekscrypto/Swift-Tutorial-InsertTextfield
祝你好运!