2016-08-31 5 views
8

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

Как использовать 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

Спасибо, работает с Xamarin.iOS тоже. –

ответ

1

я тоже встретил эту проблему, но я не могу решить эту проблему с помощью вашего решения .. Вот мой код:

QLPreviewController *preview = [[QLPreviewController alloc] init]; 
[preview setDataSource:self]; 
[preview setDelegate:self]; 

if(SYSTEM_VERSION_LESS_THAN(@"10.0")) 
{ 
    [self addChildViewController:preview]; 
} 

[preview didMoveToParentViewController:self]; 
[self.view addSubview:preview.view]; 
+0

BTW, он работал в iOS 9 Xcode7.3 –

+0

Здесь же проблема. Любое обновление? – ridvankucuk

+0

@ridvankucuk У вас еще есть проблема? –

0

Этот ответ https://stackoverflow.com/a/41908926/870671 может также решить проблему, которую вы видите , Я представляю свой QLPreviewController, не используя сдерживание контроллера вида.

Смежные вопросы