2013-09-04 2 views
1
나는 (I 필요한 모든 인) 하나의 PDF를 표시 UIView의

아이폰 OS - 다른 방향에서 디스플레이 PDF

그것의 간단한 응용 프로그램 내부에서 PDF를 표시하려면 다음 코드를 사용하고

및 I "m 처리 별도로 확대 : 아이 패드가 가로 모든 것을 변경 왜곡 될 때 나는이와 데 문제는 - 내가보고해야하는 위치에 관해서는 어떤 도움을/나는 방향 문제를 처리하기 위해 무엇을해야하는지

- (void)drawRect:(CGRect)rect 
{ 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 

//PDF might be transparent, assume white paper - set White Background 
[[UIColor whiteColor] set]; 
CGContextFillRect(ctx, rect); 

//Flip coordinates 
CGContextGetCTM(ctx); 
CGContextScaleCTM(ctx, 1, -1); 
CGContextTranslateCTM(ctx, 0, -rect.size.height); 

//PDF File Path 
NSURL *pdfURL = [[NSBundle mainBundle] URLForResource:@"TEST" withExtension:@"pdf"]; 
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL((__bridge CFURLRef)pdfURL); 
CGPDFPageRef page1 = CGPDFDocumentGetPage(pdf, 1); 

//Get the rectangle of the cropped inside 
CGRect mediaRect = CGPDFPageGetBoxRect(page1, kCGPDFCropBox); 
CGContextScaleCTM(ctx, rect.size.width/mediaRect.size.width, 
        rect.size.height/mediaRect.size.height); 

//Draw PDF 
CGContextDrawPDFPage(ctx, page1); 
CGPDFDocumentRelease(pdf); 
} 

답변

0

안녕하세요? 이것에 흥미가있는 사람을 위해 ...

이 m 바깥에 그것을 할 수있는 가장 좋은 방법이 될 : Supporting two orientations with separate view controllers in iOS

다음과 같은 질문 방향으로 변화가 감지되면 장치 방향 변화에 등록, 모달보기 크기로 PDF를 -displaying 밀어 방법에 대해 설명

같이 일 수있는 다른 옵션은 다음과 같습니다 당신이있는 UIView를 초기화 할 때 ... 당신은 방향이 다양한 UIViewContentMode 주변에 플레이

UIView.contentMode = UIViewContentModeScaleAspectFill; 

변경 때 반응하는 방법을 결정 : 당신 최선의 효과를 달성하기 위해 현재 하나 화면 비율을 유지하면서 화면의 전체 크기를 채우도록 PDF가 다시 그려 지므로 PDF의 약 절반이 줄어 듭니다. - - -