UITableViewController 中的其他界面元素,单元格未取消选择

Posted

技术标签:

【中文标题】UITableViewController 中的其他界面元素,单元格未取消选择【英文标题】:Other interface elements in a UITableViewController, cells not deselecting 【发布时间】:2009-05-02 11:36:42 【问题描述】:

我正在努力创建一个表格视图控制器,其中包含的不仅仅是表格视图。

我不想使用页脚视图,因为我希望在页面底部有一个工具栏,并且在某些情况下,表格中的行数不足以将页脚放在底部屏幕。另一个问题是工具栏反弹;)

我尝试不使用 UITableViewController 并使用 UIViewController 这可以正常工作,但是当我单击导航控件返回时,该行仍然突出显示。

所以我有两个问题: 1. 如何让行像 UITableViewController 一样淡出? 和 2. 是否可以在 UITableViewController 中添加其他非 UITableViews 的 UI 元素?

谢谢 卡尔

【问题讨论】:

【参考方案1】:

关于第一个问题,

我遇到了同样的问题。你可以在How to perform a cell deselection when a user returns to a table view?看到我的问题

正如丹尼尔所说:

当你在 viewDidAppear: 等中调用 super 时,UITableViewController 会自动为你处理这个问题。所以最简单的方法是继承 UITableViewController。如果你不能(例如,因为表格只是更复杂视图的一部分),那么你必须在 viewDidAppear: 方法中自己做。 (您也应该闪烁滚动条)。

关于第二个问题:

我认为你做不到。表格视图可以包含页眉视图、页脚视图、表格单元格视图和剖面视图。您可以在这些“子”视图中添加您喜欢的其他任何 ui 控件,但不能直接添加到 UITableViewController。

【讨论】:

谢谢。那正是我所想。我还设法很容易地取消选择。我以前尝试过,但无法正确处理。所以对于任何需要的人:把它放在 viewDidAppear: [tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES];

以上是关于UITableViewController 中的其他界面元素,单元格未取消选择的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewController 中的 iAd

UITableViewController 中的 iOS tableHeaderView 从不显示

UITableViewController 中的顶栏背景

框架中的 UITableViewController 未调用 didSelectRowAtIndexPath

从 UITableViewController 中的按钮创建操作

在 UITableViewController 中的 UITableViewCells 之间进行通信