Не очень хорошая идея вручную размещать UITableView в UITableViewController.При этом, я думаю, что настройка свойства ContentInset должна привести вас туда, куда вам нужно:
this.TableView.ContentInset = new UIEdgeInsets(this.TableView.Center.Y, 0, 0, 0);
Это должно толкнуть первый раздел / ячейку к указанному значению UIEdgeInset.Top.
Редактировать: Согласно пояснениям в комментариях ...
Если вам нужно сохранить положение фонового представления ... вам может повезти, создав HeaderView для первого раздела и увеличивразмер кадра достаточен для перемещения первой ячейки вниз:
public override UIView GetViewForHeader (UITableView tableView, int sectionIdx)
{
if(sectionIdx == 0) {
// adjust appropriate index above ^
var view = new UIView();
view.Frame = new RectangleF(...) // adjust your frame here
return view;
}
}