iOS8 – предотвращает поворот при представлении viewController

У нас есть MainViewController с tableView, и он представляет новый modalViewController.

MainViewController ограничивается только портфолио, и modalViewController может вращаться.

Проблема в iOS8 заключается в том, что когда modalViewController вращается, метод обратного вызова вращения в iOS8 в MainViewcontroller вызывается – - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator

Таким образом, UITableView перезагружает свои данные, чего мы не хотим.

Можем ли мы предотвратить эту функцию iOS 8, а не поворачивать презентацию UIViewController?

3 Solutions collect form web for “iOS8 – предотвращает поворот при представлении viewController”

Поэтому после долгих дней поиска и расследования я наконец придумал возможное решение.

Прежде всего, я могу использовать контроллер навигации и нажимать viewController вместо его представления, но он разбивает мой код и просто не так.

Второе, что я могу сделать, это не устанавливать ограничения. Я все еще могу использовать автозапуск, но если я не задаю ограничений и не устанавливаю ограничения по умолчанию, таблицаView не будет перезагружена. конечно, это тоже не очень умная вещь, потому что у меня много элементов в моем viewController.

Наконец, я понял, что могу показать этот «модальный» viewController в другом UIWindow. Я создаю UIWindow и устанавливаю modalViewController как свой rootViewController.

Я привел пример проекта в git: https://github.com/OrenRosen/ModalInWindow

Надеюсь, это будет полезно.

Я сделал что-то подобное с навигационным контроллером, который не вращается, если верхний толкаемый контроллер не вращается.

В вашем случае проверьте, подает ли главный контроллер другой контроллер. Если это не так, просто отклоните вращение, иначе верните все возвращаемые контроллером данные для метода вращения.

Что касается вашего вида таблицы, он не должен перезагружаться из-за поворота.

В iOS 8 вид, который вращается при изменении ориентации устройства, – это первое представление, добавленное в UIWindow . Итак, если вы сохраните ссылку на нее в своем presentedController shouldAutorotate , вы можете перезаписать значения shouldAutorotate и supportedInterfaceOrientations .

  • Неверная прокрутка UITableView БЕЗ изображений или выборки контента
  • Видимые строки UITableCellView сверху
  • SDWebImage не загружает удаленные изображения до прокрутки
  • Контроллер поиска с несколькими разделами в UITableView
  • Учебное пособие по перетаскиванию элемента из UITableView в UITableView
  • Изменение размера UIStackView после изменения количества строк UILabel
  • Xamarin.IOS: сбой UITableViewSource на устройстве
  • Изменение размера UILabel не совсем работает
  • Прокрутка для удаления опции в проблемах UITableView
  • Когда в жизненном цикле представления UITableViewCell создает свои выходы / метки / подпункты?
  • UITableView scrollToRowAtIndexPath не работает для последних 4
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.