Методы делегирования Quicklook / QLPreviewController не вызываются в iOS 10 Xcode 8

В настоящее время я тестирую свою текущую версию в iOS10. я используюXcode 8 бета 6 для тестирования. ВотМетоды делегирования Quicklook / QLPreviewController не вызываются. Этот кодовый набор работал с версиями XCode 7 и iOS 9.3. Я проверил эту проблему на форуме разработчиков Apple. Но не смог найти ответ. Кто-нибудь исправил эту проблему? (Я использую Objective-C)

Как использовать Quicklook / QLPreviewController в XCode 8 (iOS 10)?

// ----------------- РЕШЕНИЕ для iOS 10 (предварительный просмотр в качестве подпредставления) -------------------

Эта проблема возникает при добавлении средства предварительного просмотра в качестве подпредставления. Затем мы используем строки кода ниже в основном в iOS 9.3 и ниже.

[self addChildViewController:previewer];
self.view addSubview:previewer.view];
[previewer didMoveToParentViewController:self];

В iOS 10 проблема возникает из-за строки кода ниже.

[self addChildViewController:previewer];

Для iOS 10 нам нужно проверить версию и добавить приведенную выше строку кода. Ниже приведен рабочий набор кодов.

    QLPreviewController* previewer = [[QLPreviewController alloc] init];

    previewer.dataSource = self;
    previewer.delegate = self;
    // To avoid iOS 10 previewer issue.
    if (SYSTEM_VERSION_LESS_THAN(@"10.0")) {
        [self addChildViewController:previewer];
    }
    CGFloat width = self.view.frame.size.width;
    CGFloat height = self.view.frame.size.height;
    previewer.view.frame = CGRectMake(0, 102, width, height-300);
    [self.view addSubview:previewer.view];

    [previewer didMoveToParentViewController:self];

Ответы на вопрос(2)

Ваш ответ на вопрос