Как позиционировать UITableView (MonoTouch) - PullRequest
0 голосов
/ 04 декабря 2011

С учетом следующего кода:

public class MainTableController : UITableViewController
{
    // Allow us to set the style of the TableView
    public MainTableController(UITableViewStyle style) : base(style)
    {
    }

    public override void ViewDidLoad ()
    {   
        TableView.DataSource = new MainTableDataSource();
        TableView.Delegate = new MainTableDelegate(this);

        TableView.BackgroundColor = UIColor.FromPatternImage(UIImage.FromFile ("Content/Background-Home@2x.png"));

        TableView.Bounces = false;

        base.ViewDidLoad ();
    }
}

С учетом следующего вывода:

enter image description here

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

1 Ответ

3 голосов
/ 04 декабря 2011

Не очень хорошая идея вручную размещать 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;    
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...