Поворот моно касания в ландшафтном и портретном режимах - PullRequest
2 голосов
/ 21 февраля 2012

Я новичок в iPad разработчику,

Я создал два или три iPad приложения в задаче c, используя Xcode 4.

но теперь я хочу создать iPad приложение, используя инструмент Monodeveloper на C# языке ...

, в котором я хочу сдвинуть свой tableView в orientation,

Я искал в Google, но у меня не было синтаксиса.

Подробнее см. Мой снимок экрана ...

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

screenshot как мне это сделать?

Я создал таблицу программно, вот фрагмент кода,

public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();
            Gainer();   //method call
                UITableView Table=new UITableView();
            Table.Frame=new RectangleF(20,200,400,400);
            Table.Source=new TableViewDataSource(TopGainer); //passing parameter to tableview datasource 
            this.View.AddSubview(Table);


        }

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
        {
            // Return true for supported orientations
            return true;
        }

Любая помощь будет оценена.

Заранее спасибо !!

1 Ответ

2 голосов
/ 22 февраля 2012

Вы можете переопределить метод WillRotate и применить точное положение, которое вы хотите, в каждом случае, на основе значений, которые предоставляет UIScreen.MainScreen.Например,

    public override void WillRotate (UIInterfaceOrientation toInterfaceOrientation, double duration)
    {
        switch (toInterfaceOrientation) {
        case UIInterfaceOrientation.LandscapeLeft:
        case UIInterfaceOrientation.LandscapeRight:
            Table.Frame = new RectangleF (UIScreen.MainScreen.Bounds.Width - 20 - Table.Frame.Width, 200, 400, 400);
            break;
        case UIInterfaceOrientation.Portrait:
        case UIInterfaceOrientation.PortraitUpsideDown:
            Table.Frame = new RectangleF (20, 200, 400, 400);
            break;
        }
        base.WillRotate (toInterfaceOrientation, duration);
    }
...