Раскадровка и единственный замок ориентации UIViewController

I have made my application with storyboard and i have set in project option -> Supported Device Orientation -> All Orientation (Portrait, Landscape Left, Landscape Right, Upside Down), because i want that views rotates as wheel my device. Views are pushed by Interface Builder (with Segue method) in a NavigationController.

Теперь у меня есть единственный Диспетчер Представления (TestViewController), который является частью раскадровки, что я хочу захватить Ориентацию (просто Портрет). Я сделал, отвергают тех методов, но TestViewController сменяет друг друга как другие. ShouldAutorotate не называют, пожары в SupportedInterfaceOrientations, но результат то же самое как взгляды других.

public partial class TestViewController : UIViewController {
...
    public override bool ShouldAutorotate()
    {
     return false;
    }

    public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
    {
    return UIInterfaceOrientationMask.Portrait;

    }
...
}

Окружающая среда

  • MonoTouch 6.06
  • XCode 4.5.2
  • MonoDevelop 3.05
0
nl ja de
Вы отвергаете эти методы в вашем AppDelegate также? Вам, возможно, придется сделать это, прежде чем их назовут на каждом диспетчере.
добавлено автор jonathanpeppers, источник
Да, и затем можно отвергнуть его в определенных диспетчерах, которые отличаются от вашего AppDelegate .
добавлено автор jonathanpeppers, источник
но если я делаю это в своих AppDelegate, которые действительны для всего ViewControllers?
добавлено автор Luigi Saggese, источник

1 ответы

Решение состоит в том, чтобы установить в AppDelegate Поддержанную Интерфейсную Ориентацию так же как это

public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations (UIApplication application, UIWindow forWindow)
        {
            if (forWindow != null && forWindow.RootViewController != null) {
                UINavigationController nav = forWindow.RootViewController as UINavigationController;
                if(nav.VisibleViewController is TestViewController){
                    return UIInterfaceOrientationMask.Portrait;
                }
            }
            return UIInterfaceOrientationMask.All;
        }
1
добавлено
Необходимо также быть в состоянии просто возвратиться, Все в этом методе и отвергнуть GetSupportedInterfaceOrientations на вашем TestViewController .
добавлено автор jonathanpeppers, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Xamarin Developers
Xamarin Developers
1 050 участник(ов)

Чат разработчиков приложений на Xamarin для iOS, Android и Windows 10!

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

IDE и редакторы — русскоговорящее сообщество
IDE и редакторы — русскоговорящее сообщество
393 участник(ов)

Общаемся, сравниваем и помогаем друг другу решать задачи с продуктами JetBrains, VS Code, Atom, vim, Emacs, Sublime и т.д. Всё в одном месте, ведь каждый из них хорош по своему. См. также: @js_ru, @typescript_ru, @react_js, @nodejs_ru, @javascript_jobs