Проект Monotouch iPad поможет пейзаж и многое другое - PullRequest
2 голосов
/ 22 февраля 2011

дизайнер здесь, кодирующий новичка. Я только что создал макет в фотошопе (панель инструментов, которая показывает графики, с необычными ползунками, перетаскиванием, модальным блоком) и хочу сделать прототип в монотуше, особенно с помощью конструктора интерфейса, но у меня возникла проблема с ориентацией экрана. Я хочу, чтобы заставить его в ландшафтном режиме. Я создал ViewController и поместил ImageViewer внутри с фоном и установил его в альбомный режим, но он все еще в портретном режиме, даже если он вынужден работать в ландшафтном режиме. Также используется код

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
    return ((toInterfaceOrientation == UIInterfaceOrientation.LandscapeLeft) || (toInterfaceOrientation == UIInterfaceOrientation.LandscapeRight));
}

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

Я добавил скриншоты макета и файлы.

Скриншот , ссылка для скачивания

1 Ответ

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

Хорошо, есть несколько вещей, которые вы сделали неправильно.Читайте дальше:

В MonoDevelop:

  1. Удалите атрибут RegisterAttribute из класса MyViewController.Он будет добавлен автоматически в свое частичное объявление после компиляции.

  2. Добавьте частичный модификатор в объявление класса:

    открытый частичный класс MyViewController: UIViewController

  3. Добавьте в него следующий конструктор:

    public MyViewController (дескриптор IntPtr): base (handle) {}

в Интерфейсном Разработчике:

  1. Отключите и удалите все розетки, которые вы установили.Они неверны, потому что вы установили одну и ту же розетку для контроллера и вида изображения.

  2. Добавьте розетку в класс AppDelegate для контроллера (например, myController).Подключите его к контроллеру.

  3. Добавьте в MyViewController выход с именем «view» и подключите его к представлению изображения.

  4. НАИБОЛЕЕ важно:на вкладке «Идентичность» MyViewController установите имя его класса ... MyViewController.

После этого он будет работать правильно.

...