[英]How to place a button below a UITableView managed by UITableViewController
我有一个带有基于UITableViewController
的控制器管理的表视图的屏幕。 我现在想贴上一个按钮在屏幕的底部,所以它不会随着表视图细胞滚动。
用普通的UIViewController
替换UITableViewController
并不是一种选择,因为我想包括UIRefreshControl
。 从我所读的内容UIRefreshControl
如果不借助任何黑客手段/依靠未记录的行为,则目前无法使用没有UITableViewController
的UIRefreshControl
。
我尝试使用导航控制器提供的UIToolbar
,其中包含我的表视图控制器,但是这种方法存在两个问题:
UIView
吗? 这大约是我的目标:
http://pic.rockmynews.com/img/free-iphone-app.png
另一个想法是使用一个容器视图控制器,在底部包含按钮,在其上方的表视图控制器作为其子视图控制器。 但这似乎很简单,需要做很多工作。
那么最好的方法是什么? 有什么建议吗?
创建UIView
容器视图。 而且还要创建一个UIViewController
子类来管理容器。 然后,将现有的表视图控制器添加为子视图控制器,并将表视图添加为子视图。 现在,您可以控制所有子视图和位置,同时仍具有自动刷新控制操作。
只需使用
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
并返回所需按钮的UIView。 和
tableView:heightForFooterInSection
并返回页脚高度
如果您不愿意使用容器视图控制器,则可以使用第三方请求来刷新控件,例如https://github.com/samvermette/SVPullToRefresh 。 如果要支持它,它还具有向后兼容iOS 5的额外好处。
您可以使用UITableViewController
。 只需重写viewDidLoad
,然后调整tableView
大小即可为您的多余视图腾出空间,然后以编程方式添加视图。 确保设置正确的调整大小蒙版,以便在不同的屏幕尺寸上看起来正确。 (通过在iPhone4和iPhone5上试用,可以在模拟器中轻松测试)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.