1

我有一个带有表格视图的屏幕,由基于UITableViewController. 我现在想在屏幕底部附加一个按钮,这样它就不会表格视图单元格一起滚动。

UITableViewController用普通替换UIViewController不是一个选项,因为我想包含一个UIRefreshControl. 根据我的阅读,如果不求助于任何黑客/依赖未记录的行为,目前无法使用UIRefreshControl没有 a的情况。UITableViewController

我尝试使用包含UIToolbar我的表视图控制器的导航控制器提供的,但是这种方法有两个问题:

  1. 我只希望带有按钮的工具栏出现在顶级表格视图中。但是,我还没有找到一种优雅的方式来只显示顶级表格视图的工具栏。当我向下钻取时,我希望工具栏与表格视图一起从屏幕左侧动画出来。
  2. 我还没有找到增加工具栏高度的方法。我必须把按钮放在一个假人里UIView吗?

这大约是我的目标:

http://pic.rockmynews.com/img/free-iphone-app.png

另一个想法是使用包含底部按钮的容器视图控制器和其上方的表格视图控制器作为其子视图控制器。但对于这么简单的事情,这似乎需要做很多工作。

那么最好的方法是什么?有什么建议吗?

4

4 回答 4

1

只需使用

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

并返回所需按钮的 UIView。和

tableView:heightForFooterInSection

并返回页脚高度

于 2013-10-20T16:00:51.990 回答
1

创建UIView容器视图。而且还要创建一个UIViewController子类来管理容器。然后,将现有的表视图控制器添加为子视图控制器,并将表视图添加为子视图。现在您可以控制所有子视图和位置,同时仍然具有自动刷新控制操作。

于 2013-10-20T13:21:41.550 回答
0

您可以使用UITableViewController. 只需覆盖viewDidLoad然后调整大小tableView以为您的额外视图腾出空间,然后以编程方式添加您的视图。确保设置正确的调整大小蒙版,以便在不同的屏幕尺寸上看起来正确。(通过在 iPhone4 和 iPhone5 上试用,在模拟器中轻松测试)

于 2013-10-20T15:49:32.787 回答
0

如果您不愿意使用容器视图控制器,则可以使用第三方拉取刷新控件,例如https://github.com/samvermette/SVPullToRefresh。如果您想支持它,这具有向后兼容 iOS 5 的额外好处。

于 2013-10-20T14:32:36.897 回答