我只是想知道是否可以将UITableView
向下翻页,比方说,可能是50像素。我知道如果我使用UIViewController
然后在顶部添加了一个表格视图,这通常会有效,但是我能够这样做并仍然保持为UITableViewController
吗?
答案 0 :(得分:41)
我遇到了同样的问题,上面的答案没有用。这样做了:
[self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)];
答案 1 :(得分:8)
我的解决方案是覆盖tableViewcontroller的方法viewWillLayoutSubviews
- (void) viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
self.tableView.frame = CGRectMake(0,0,CGRectGetWidth(self.view.frame),300);
}
在不断变化的方向和所有情况下,我的工作非常出色
答案 2 :(得分:4)
UITableView
实际上是UIScrollView
。这意味着您可以将UITableView
滚动到所需的位置。 This是之前的链接,向您展示如何执行此操作,包括示例代码和讨论。
编辑: 为了将整个表视图向下移动,只需使用:
float yOffset = 50.0f; // Change this how much you want!
tableview.view.frame = CGRectMake(tableview.view.frame.origin.x, tableview.view.frame.origin.y + yOffset, tableview.view.frame.size.width, tableview.view.frame.size.height);
希望有帮助!
答案 3 :(得分:2)
由于表视图由UIScrollView支持,因此您可以使用内容偏移量移动。
self.tableView.contentOffset = CGPointMake( x, y);
您可能想要包装UIView动画
答案 4 :(得分:2)
如果您尝试在表格顶部添加UI元素,为什么不将其设置为tableHeaderView
呢?
UILabel *someLabel;
// configure label
self.tableView.tableHeaderView = someLabel;
答案 5 :(得分:1)
如果您需要在tableview后面(或顶部)查看视图,那么您必须改为UIViewController
的子类,然后再添加UITableView
。
另一种解决方案可能是设置表的标题视图(reference),但在这种情况下,请记住此视图将与表一起滚动。
有关本文UITableViewController
限制的详细信息:“Clean table view code”。
答案 6 :(得分:1)
Swift 2.2:
将tableView放在UITableViewController中:
let edgeInsets = UIEdgeInsetsMake(20, 0, 0, 0)
self.tableView.contentInset = edgeInsets
答案 7 :(得分:0)
UITableViewController实际上是一个UIViewController,只是它为你提供了一些覆盖的方法,并且对表动作很有用。所以你可以做任何你想做的事情
检查一下,一旦你明白UITableViewController是什么,你会做任何你想做的事情
http://cocoawithlove.com/2009/03/recreating-uitableviewcontroller-to.html