MonoTouch UISplitViewController — разные устройства и симуляторы

Известны ли какие-либо проблемы с UISplitViewController в MonoTouch? Я использую MonoDevelop 2.8.8.4, MonoTouch 5.2.10 и xCode 4.3.2 (4E2002).

У меня есть UISplitViewController. Когда я перехожу к портрету, я отображаю кнопку, которую пользователь может щелкнуть, чтобы просмотреть «основной» вид во всплывающем контроллере. На симуляторе все работает именно так, как и ожидалось — мастер отображается в popupviewcontroller.

Однако на устройстве (работающем под управлением iOS5.1) главный вид будет выдвигаться сбоку (как на UINavigationController.PushController()


person Jeff - Software Results    schedule 04.04.2012    source источник


Ответы (3)


и это из примечаний к выпуску iOS 5.1:

В версии 5.1 класс UISplitViewController использует стиль скользящего представления при представлении левого представления (ранее это было видно только в Mail). Этот стиль используется, когда презентация инициируется либо существующим элементом кнопки панели, предоставляемым методами делегата, либо жестом смахивания в правом представлении. Для получения такого поведения не требуется никакого дополнительного внедрения API, и все существующие API, включая экземпляр UIPopoverController, предоставленный делегатом, будут продолжать работать, как и раньше. Если жест не может поддерживаться в вашем приложении, установите для свойства PresentWithGesture контроллера разделенного представления значение NO, чтобы отключить жест. Однако отключение этого жеста не рекомендуется, так как его использование обеспечивает единообразие взаимодействия с пользователем во всех приложениях.

person Alex    schedule 04.04.2012
comment
Что было бы нормально, если принять, что основной вид скользит по панели навигации, на которой кнопка включена, и скрывает другие кнопки, которые у меня есть на панели. Аргх - person Jeff - Software Results; 05.04.2012

Есть ли известные проблемы с UISplitViewController в Monotouch?

Ничего особенного для MonoTouch и UISplitViewController, но, как вы уже выяснили, последний довольно сильно изменился внутри iOS 5.1, и это может проявиться в приложениях.

Я использую MonoDevelop 2.8.8.4, Monotouch 5.2.10 и xCode 4.3.2 (4E2002).

Что еще более важно, какую версию симулятора iOS вы используете? то есть iOS 5.0 или iOS 5.1?

В любом случае имейте в виду, что разные версии iOS вызывают свои селекторы в разное время. Это может привести к тому, что один и тот же код будет вести себя по-разному в разных версиях iOS.

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

Отказ от ответственности: ссылка на мой собственный блог

person poupou    schedule 04.04.2012
comment
Симулятор iOS 5.1. Странный. - person Jeff - Software Results; 05.04.2012
comment
Это может быть что-то другое (похожее или совсем другое). Конкретную проблему UISplitViewController, о которой я писал в блоге, можно было увидеть только с помощью симулятора (т. е. при переходе с iOS 5.0 на iOS 5.1). - person poupou; 05.04.2012

Да, это «новая функция».

Больше нет Popover (UISplitViewController MasterView). Я пытался изменить, но ничего не работает. Я обратился за помощью в службу поддержки Monotouch. Но тоже ничего не знают.

Вот ссылка на мой вопрос, возможно, это может лучше ответить на ваш вопрос;)

проблемы UISplitViewController с IOS 5.1

person Alex    schedule 04.04.2012
comment
и это из примечаний к выпуску iOS 5.1: - person Alex; 04.04.2012