2016-08-31 18 views
8

Aktualnie testuję moją obecną wersję w iOS10. Używam wersji beta Xcode 8 beta do testowania. Tutaj Metody delegatów Quicklook/QLPreviewController nie wywołują. Ten zestaw kodowy został opracowany z wersjami XCode 7 i iOS 9.3. Sprawdziłem ten problem na forum programistów Apple. Ale nie mogłem znaleźć odpowiedzi. Ktoś naprawił ten problem? (Używam Objective-C)Metody delegowania Quicklook/QLPreviewController nie wywołują w systemie iOS 10 Xcode 8

Jak korzystać z Quicklook/QLPreviewController w XCode 8 (iOS 10)?

// ----------------- ROZWIĄZANIE dla iOS 10 (podgląd jako widok) ----------------- -

Ten problem występuje, gdy dodajesz podgląd jako podgląd. Używamy poniżej linii kodu, głównie w iOS 9.3 i wersjach poniżej.

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

W systemie iOS 10 problem pochodzi z poniższej linii kodu.

[self addChildViewController:previewer]; 

Dla iOS 10 musimy sprawdzić wersję i dodać powyższą linię kodu. Poniżej znajduje się działający zestaw kodów.

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

Dzięki, działa również z Xamarin.iOS. –

Odpowiedz

1

Poznałem ten problem też, ale nie mogę rozwiązać ten problem przez rozwiązania .. Oto mój kod:

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, działało w iOS 9 Xcode7.3 –

+0

Ten sam problem tutaj. Jakakolwiek aktualizacja? – ridvankucuk

+0

@ridvankucuk Nadal masz problem? –