【问题标题】:INSERT a new UITableView row with Editable UITextfields插入带有可编辑 UITextfields 的新 UITableView 行
【发布时间】:2018-07-19 06:02:36
【问题描述】:

我已经为此工作了很多天,但似乎无法使其工作。这可能甚至不可能,但一定有办法!

我想插入一个新的 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];

}

【问题讨论】:

    标签: ios objective-c uitableview uitextfield uidatepicker


    【解决方案1】:

    这应该比较简单,创建一个带有 UITextField 的自定义视图,确保它已正确注册到 tableView 以便您可以将其出列,并且您的 UITextField 应该可用。

    我已经为您设置了一个演示项目来演示这一点:https://github.com/ekscrypto/Swift-Tutorial-InsertTextfield

    祝你好运!

    【讨论】:

    • 哇!谢谢你为我做这件事。它看起来完全可行。我需要先转换为Objective C。目前正在跑腿,但我会告诉你我是如何开始的,并在它工作后立即接受你的回答。非常感谢!
    • 您的代码肯定有助于添加可编辑的新行,所以我会接受您的回答。由于我处理数据源的方式,在添加了两行以上的文本后,我仍然遇到问题。那是一个完全不同的问题!感谢您的帮助。
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多