2016-08-31 20 views
8

Hiện tại tôi đang thử nghiệm phiên bản hiện tại của mình trong iOS10. Tôi đang sử dụng Xcode 8 beta 6 để thử nghiệm. Ở đây Phương thức đại biểu QuickView/QLPreviewController không gọi. Bộ mã này đã được làm việc với các phiên bản XCode 7 và iOS 9.3. Tôi đã kiểm tra vấn đề này trong diễn đàn Apple Developer. Nhưng không thể tìm thấy câu trả lời. Bất kỳ ai đã khắc phục sự cố này? (Tôi đang sử dụng Mục tiêu-C)Phương thức ủy quyền Quicklook/QLPreviewController không gọi trong iOS 10 Xcode 8

Cách sử dụng Quicklook/QLPreviewController trong XCode 8 (iOS 10)?

// ----------------- GIẢI PHÁP cho iOS 10 (bản xem trước dưới dạng chế độ xem phụ) ----------------- -

Sự cố này xảy ra khi bạn thêm trình xem trước làm chế độ xem phụ. Sau đó, chúng tôi đang sử dụng các dòng mã dưới đây chủ yếu trong iOS 9.3 và các phiên bản dưới đây.

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

Sự cố iOS 10 xuất phát từ dòng mã bên dưới.

[self addChildViewController:previewer]; 

Đối với iOS 10, chúng tôi cần kiểm tra phiên bản và thêm dòng mã ở trên. Dưới đây là bộ mã làm việc.

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

Cảm ơn, cũng làm việc với Xamarin.iOS. –

Trả lời

1

tôi gặp vấn đề này quá, nhưng tôi không thể khắc phục vấn đề này bằng cách giải pháp của bạn .. Đây là mã của tôi:

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, nó hoạt động trong iOS 9 Xcode7.3 –

+0

Cùng một vấn đề ở đây. Bất kỳ bản cập nhật? – ridvankucuk

+0

@ridvankucuk Bạn vẫn gặp sự cố? –

0

Câu trả lời này https://stackoverflow.com/a/41908926/870671 cũng có thể giải quyết vấn đề bạn đang nhìn thấy . Tôi đang trình bày QLPreviewController của mình, không sử dụng ngăn chứa bộ điều khiển chế độ xem.

Các vấn đề liên quan