我的屏幕上有一个基于UITableViewController
的控制器管理的表格视图。我现在想在屏幕底部添加一个按钮,以便不与表格视图单元格一起滚动。
使用普通UITableViewController
替换UIViewController
不是一种选择,因为我想要包含UIRefreshControl
。根据我的阅读,如果不诉诸任何黑客/依赖无证行为,目前无法使用UIRefreshControl
而不使用UITableViewController
。
我尝试使用我的表视图控制器所包含的导航控制器提供的UIToolbar
,但这种方法存在两个问题:
UIView
?这与我的目标大致相同:
http://pic.rockmynews.com/img/free-iphone-app.png
另一个想法是使用一个容器视图控制器,它包含底部的按钮和上面的表视图控制器作为其子视图控制器。但这似乎很简单。
那么最好的方法是什么?有什么建议吗?
答案 0 :(得分:1)
创建UIView
容器视图。但是也要创建一个UIViewController
子类来管理容器。然后,将现有的表视图控制器添加为子视图控制器,并将表视图添加为子视图。现在,您可以在仍具有自动刷新控制操作的同时控制所有子视图和位置。
答案 1 :(得分:1)
只需使用
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
并返回所需按钮的UIView。和
tableView:heightForFooterInSection
并返回页脚高度
答案 2 :(得分:0)
如果您不想使用容器视图控制器,则可以使用第三方提取来刷新控件,如https://github.com/samvermette/SVPullToRefresh。如果你想支持iOS 5,那么它具有向后兼容的额外好处。
答案 3 :(得分:0)
您可以使用UITableViewController
。只需覆盖viewDidLoad
,然后调整tableView
的大小,为额外的视图腾出空间,然后以编程方式添加视图。确保设置正确的大小调整蒙版,以便在不同的屏幕尺寸上看起来正确。 (通过在iPhone4和iPhone5上试用,在模拟器中轻松测试)