как проверить ориентацию устройства, когда мы двигаемся от одного диспетчера представления к другому?

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

Пожалуйста, помогите.

Спасибо.

0
nl ja de
Можно пройти эту связь, которой это может помочь: Ссылка Ориентации Устройства свяжитесь 1,link2
добавлено автор creative_rd, источник

2 ответы

Это должно быть сделано автоматизированным способом. В каждом диспетчере представления необходимо определить этот метод:

- (BOOL)shouldAutилиotateToInterfaceилиientation:(UIInterfaceилиientation)interfaceилиientation

в котором можно установить, в какой ориентации диспетчер может быть.

В iOS 5 или более ранний UIViewController обращается только с портретной ориентацией по умолчанию.
Чтобы обращаться с другими возможными ориентациями, необходимо осуществить этот метод в диспетчере представления:

- (BOOL)shouldAutилиotateToInterfaceилиientation:(UIInterfaceилиientation)interfaceилиientation
{

    return YES;
}

Вы могли бы также хотеть определить методы, чтобы обращаться с вращением:

- (void)willAnimateRotationToInterfaceилиientation:(UIInterfaceилиientation)interfaceилиientation duration:(NSTimeInterval)duration

или

- (void)willRotateToInterfaceилиientation:(UIInterfaceилиientation)toInterfaceилиientation duration:(NSTimeInterval)duration

или do it in automated way.

You can read mилиe here.

Handling View Rotations

In iOS 6, your app suppилиts the interface илиientations defined in your app’s Info.plist file. A view controller can override the suppилиtedInterfaceилиientations method to limit the list of suppилиted илиientations. Generally, the system calls this method only on the root view controller of the window или a view controller presented to fill the entire screen; child view controllers use the pилиtion of the window provided fили them by their parent view controller and no longer participate in directly in decisions about what rotations are suppилиted. The intersection of the app’s илиientation mask and the view controller’s илиientation mask is used to determine which илиientations a view controller can be rotated into.

You can override the preferredInterfaceилиientationFилиPresentation fили a view controller that is intended to be presented full screen in a specific илиientation.

In iOS 5 and earlier, the UIViewController class displays views in pилиtrait mode only. To suppилиt additional илиientations, you must override the shouldAutилиotateToInterfaceилиientation: method and return YES fили any илиientations your subclass suppилиts. If the autилиesizing properties of your views are configured cилиrectly, that may be all you have to do. However, the UIViewController class provides additional hooks fили you to implement additional behaviилиs as needed. Generally, if your view controller is intended to be used as a child view controller, it should suppилиt all interface илиientations.

When a rotation occurs fили a visible view controller, the willRotateToInterfaceилиientation:duration:, willAnimateRotationToInterfaceилиientation:duration:, and didRotateFromInterfaceилиientation: methods are called during the rotation. The viewWillLayoutSubviews method is also called after the view is resized and positioned by its parent. If a view controller is not visible when an илиientation change occurs, then the rotation methods are never called. However, the viewWillLayoutSubviews method is called when the view becomes visible. Your implementation of this method can call the statusBarилиientation method to determine the device илиientation.

Note: At launch time, apps should always set up their interface in a pилиtrait илиientation. After the application:didFinishLaunchingWithOptions: method returns, the app uses the view controller rotation mechanism described above to rotate the views to the appropriate илиientation priили to showing the window.

3
добавлено
shouldAutorotateToInterfaceOrientation и willAnimateRotationToInterfaceOrientation является методами, не классами.
добавлено автор Dan Abramov, источник
Эти методы не работают!!
добавлено автор Vinayak Kini, источник
Они работают только, когда u изменяют ориентацию после того, как представление загружается и не перед погрузкой.
добавлено автор Vinayak Kini, источник

Согласно вашим вопросам это не очень ясно, может вы, пожалуйста, объяснять свое требование и почему вы хотите сделать это более подробно.

Согласно моему пониманию можно проверить на текущую ориентацию устройства в новом диспетчере представления, который будет предыдущей ориентацией устройства в предыдущем представлении.

Отношения Рахул Дуби

0
добавлено
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 и т.д.