Сдвиг UITableView вниз (UITableViewController)

Мне просто интересно, можно ли сдвинуть UITableView вниз по странице, скажем, на 50 пикселей. Я знаю, что это обычно срабатывало, если бы я использовал UIViewController, а затем добавил представление таблицы сверху, но смогу ли я сделать это и сохранить его как UITableViewController?

Ответ 1

У меня была та же проблема, и ответ выше не работал. Это произошло:

[self.tableView setContentInset:UIEdgeInsetsMake(50,0,0,0)];

Ответ 2

Мое решение состоит в том, чтобы переопределить метод tableViewcontroller viewWillLayoutSubviews

- (void) viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];
    self.tableView.frame = CGRectMake(0,0,CGRectGetWidth(self.view.frame),300);
}

Работает отлично и всегда для меня с меняющимися ориентациями и во всех ситуациях.

Ответ 3

A UITableView на самом деле a UIScrollView. Это означает, что вы можете прокручивать UITableView до нужной вам точки. Это - это предыдущая ссылка, которая показывает вам, как это сделать, включая пример кода и обсуждение.

Изменить: Чтобы переместить таблицу ВЕСЬ вниз, просто используйте:

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);

Надеюсь, что это поможет!

Ответ 4

Так как представление таблицы поддерживается UIScrollView, вы можете перемещаться по нему с помощью содержимого Offset.

  self.tableView.contentOffset = CGPointMake( x,  y);

Возможно, вы захотите обернуть анимацию UIView

Ответ 5

Если вы пытаетесь добавить элемент пользовательского интерфейса в верхней части таблицы, почему бы просто не установить вместо него tableHeaderView?

UILabel *someLabel;

// configure label

self.tableView.tableHeaderView = someLabel;

Ответ 6

Если вам требуется представление (или поверх) таблицы, тогда вам придется подклассифицировать UIViewController и добавить UITableView после этого. Другим решением может быть установка вида заголовка таблицы (reference), но в этом случае имейте в виду, что это представление будет прокручиваться вместе с Таблица. Дополнительная информация об ограничениях UITableViewController в этой статье: " Очистить код представления таблицы".

Ответ 7

Swift 2.2:

Чтобы сдвинуть таблицуView внутри UITableViewController вниз:

let edgeInsets = UIEdgeInsetsMake(20, 0, 0, 0)
self.tableView.contentInset = edgeInsets

Ответ 8

UITableViewController на самом деле является UIViewController, только плюс он дает вам некоторые методы для переопределения и полезности для действий таблицы. поэтому вы можете делать все, что хотите.

проверьте это, как только вы получите представление о том, что UITableViewController действует, вы сделаете все, что захотите.

http://cocoawithlove.com/2009/03/recreating-uitableviewcontroller-to.html