ios - 如何使用用户输入将行添加到 TableView ?

标签 ios objective-c iphone uitableview

我的第一个 iPhone 应用程序正处于最后阶段,但我终其一生都无法让它发挥作用。我有一个 TableView ,我想要一个“添加”按钮,该按钮转到另一个 Controller (我认为是模式),用户可以在其中输入字符串并单击“完成”。这应该将用户带回 TableView ,该 View 已更新以在底部包含最新的行。 (行的数据存储在 NSUserDefaults 的数组中。)

我正在遵循本指南:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/ManageInsertDeleteRow/ManageInsertDeleteRow.html#//apple_ref/doc/uid/TP40007451-CH10-SW1

我得到了添加按钮出现。但我不明白下一部分。

- (void)addItem:sender {
if (itemInputController == nil) {
    itemInputController = [[ItemInputController alloc] init];
}
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:itemInputController];
[[self navigationController] presentModalViewController:navigationController animated:YES];
}

ItemInputController 是什么,这是我需要自己定义的东西吗?文档没有说明如何。它也没有说明如何设计文本输入 View 。我猜这一切都是以编程方式完成的,但是你如何在添加按钮和这个新的模态视图之间设置 segue。

到目前为止,我尝试过的方法(也使用其他在线教程和 SO 答案)都失败了。任何帮助将不胜感激!

最佳答案

ItemInputController 是其代码中某些示例应用程序中的一些自定义类。 它可能是 UIViewController 的子类。它包含对用户有用的东西..一些 UI 或一些文本字段..我们不知道。

无论如何,该输入 Controller 然后被包装在 UINavigationController 中,这纯粹是在顶部给它一个漂亮的导航栏,可以容纳按钮。这一步不是强制性的..它只是为了设计考虑(真正有那个栏并且能够把取消和添加按钮放到那个栏中。)

你需要做的是

1) 创建你自己的 SomethingViewController

2) 将您想要放置的任何内容放在那里,包括“取消”和“添加”导航栏按钮

3) 然后以与代码示例中相同的方式呈现它。

基本上,您的自定义 View Controller 将充当添加一些数据的平台。当用户按下添加时,您应该将该数据保存在您的模型层中,然后当您返回 TableView 时,您将为 TableView 重新加载数据。

关于ios - 如何使用用户输入将行添加到 TableView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28844312/

相关文章:

iphone - 在 Core Data 中的文件夹结构中搜索

ios - 理解[UIView animateWithDuration :completion:]的完成 block

ios - 当我选择它时,我想将 UITableViewCell 的 subview 从更改背景中排除

iphone - 显示MPMovieplayercontrolleralways-iphone的所有控件

ios - 使用核心动画对轨迹变化进行动画处理

iphone - 无法弄清楚如何发布在 iPhone 上生成的公钥

iphone - 仅将变量用于单元测试

ios - 如何使用 View 数组中具有最高高度的 View 进行约束

ios - 使用 QuartzCore 为 UITextView 创建阴影

iphone - 在 Objective-C 中转发声明协议(protocol)