В настоящее время я тестирую свою текущую версию в 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];
Спасибо, работает с Xamarin.iOS тоже. –