如何在选项卡栏应用程序中放置可编辑的表格视图?

发布于 2024-09-30 16:31:31 字数 182 浏览 2 评论 0原文

我从 XCode 中的选项卡栏应用程序开始,我想在其中一个选项卡中放置一个表格视图。我知道如何使用界面生成器将表视图物理放入选项卡中,但我需要能够编辑表中的数据,所以我不只是留下空白单元格。

那么,如何修改表中的数据呢?

本质上,我想将基于导航的应用程序放在选项卡栏应用程序的选项卡内。

感谢您的帮助!

I am starting out with the tab bar application in XCode and I want to put a table view in one of the tabs. I know how to physically put the table view into a tab with interface builder, but I need to be able to edit the data in the table, so I'm not just left with blank cells.

So, how can I edit the data in the table?

Essentially, I want to put a navigation-based application inside the tab of a tab bar application.

Thanks for the help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蓝眼泪 2024-10-07 16:31:31

UITableViewCells 本身不支持用户编辑其内容的能力。您可以设置 UI 以允许用户这样做,但这需要一些额外的努力。

如果您真正想要的是让用户能够在表格单元格中输入文本,我会向文本单元格添加一个“编辑”按钮,以便用户可以点击它进入单元格的编辑模式。

当单元格进入编辑模式时,将 UITextField 添加到单元格视图并调用其 -makeFirstResponder 方法以调出键盘。

当用户点击键盘上的“完成”按钮时,在文本字段上调用 ​​-resignFirstResponder 以关闭键盘,然后使用以下字符串更新表视图的数据源对象(这是您分配给 UITableView 的 dataSource 属性的对象)文本字段的 text 属性并从表格单元格中删除 UITextField 并通过调用其 reloadData 方法重新加载表格的数据。或者,如果您在某处保留对已编辑表格单元格的引用,则可以直接更新单元格对象,而不是在表格上调用 reloadData。

UITableViewCells don't, by themselves, support the ability for the user to edit their content. You can set up your UI to allow users to do so, but it'll take a little extra effort.

If what you're really looking for is for the user to be able to enter text into a table cell, I would add an Edit button to your text cells, so that the user can tap it to go into edit mode for a cell.

When a cell goes into edit mode, add a UITextField to the cell view and call its -makeFirstResponder method to bring up the keyboard.

When the user taps the Done button on the keyboard, call -resignFirstResponder on the text field to dismiss the keyboard, then update your table view's data source object (this is the object you've assigned to the UITableView's dataSource property) with the string from the text field's text property and remove the UITextField from your table cell and reload the table's data by calling its reloadData method. Or if you are keeping a reference to the edited table cell somewhere, you could just update the cell object directly instead of calling reloadData on the table.

强辩 2024-10-07 16:31:31

您不能只将文本添加到 InterfaceBuilder 中的表格单元格中。您需要将 UITableView 挂接到 UITableViewDataSource,并让该数据源提供您希望表格显示的单元格。

这是一个很好的起点: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewAPIOverview/TableViewAPIOverview.html%23//apple_ref/doc/uid/TP40007451 -CH4-SW2

You can't just add text to table cells in InterfaceBuilder. You'll need to hook your UITableView to a UITableViewDataSource, and have that data source provide the cells you want your table to display.

Here's a great starting point: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewAPIOverview/TableViewAPIOverview.html%23//apple_ref/doc/uid/TP40007451-CH4-SW2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文