2013-06-05 9 views
0

UiButton이라는 viewManual을 누르면 pdf 문서를 열려고합니다. 나는 QuickLook 프레임 워크를 추가하고 현재 가지고 있습니다 :UiButton을 눌렀을 때 PDF보기

.H

#import <QuickLook/QuickLook.h> 

@interface ObViewControllerUsingIObserve : UIViewController <QLPreviewControllerDataSource,              QLPreviewControllerDelegate> 
{ 
NSArray *documents; 
} 
- (IBAction)viewManual:(id)sender; 
- (void)createList; 
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller; 
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index; 

나는 이전 스레드에서이 다음 코드를 시도했지만 그것을하지

-(void) createList 
{ 
    documents = [NSArray arrayWithObjects:@"ObservationPDF.pdf", nil] ; 
} 

-(NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) previewcontroller 
{ 
return [documents count]; 
} 

- (id <QLPreviewItem>) previewController: (QLPreviewController *) previewController previewItemAtIndex: (NSInteger) index 
{ 

return [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[documents objectAtIndex:0] ofType:nil]]; 
} 

- (IBAction)viewManual:(id)sender { 
[self createList]; 
QLPreviewController *previewController = [[QLPreviewController alloc] init]; 
previewController.dataSource = self; 
previewController.delegate = self; 
previewController.currentPreviewItemIndex = [documents objectAtIndex:0]; 
[[self navigationController] presentViewController: previewController animated:YES completion:nil]; 

}

하는 .m 아무 일도 일어나지 않고 전혀 일어나지 않습니다. 그리고 여기서 내가 어디로 가는지 확신 할 수 없습니다. 어떤 도움을 많이 주셨습니다.

+0

파일을 다운로드하려면 코드가 필요합니다. 또한 파일 URL은 파일 이름이 아닌 전체 경로 여야합니다. – Wain

+0

나는 아직도 혼란 스럽다. [self createList]를 추가하여 문서 이름을 목록에로드했습니다. 파일은 이제 프로젝트에 저장되지만 아무 일도 일어나지 않습니다. 그것은 아무런 오류없이 실행되지만 pdf 뷰는 제공되지 않습니다. 도와 줘서 고마워. – RGriffiths

+0

그래서 PDF는 리소스의 일부로 앱과 함께 설치됩니까? – Wain

답변

0

iOS 개발을 처음 사용합니다. (3 days in) 이것이 도움이 될지 모르겠지만 QLPreviewController가 프로토콜을 구현하는 경우 프로토콜은 반드시 구현되어야하는 메소드 세트를 정의합니다.

이 메서드 (numberOfPreviewItemsInPreviewController 및 previewItemAtIndex)를 구현하지 않은 것 같습니다. 따라서 컨트롤러가 프로토콜 요구 사항을 준수하지 않습니다.

QuickLook 프레임 워크를 살펴보고 더 많은 정보를 찾을 수 있는지 알아 봅니다.

+0

감사 또는 의견. 나는 아직도 그것을 이해하고 당신의 도움에 감사하려고 노력하고 있습니다. – RGriffiths

+0

즐거움! 그것이 올바른 방향으로 당신을 가리 키 길 바랍니다. 기본 패턴의 iOS 복잡성에 대해 서서히 이해하기 시작 했으므로 계속 점검하고 지원을 시도 할 것입니다. 행운을 빈다. –