2010-04-10 44 views
4

任何人都有使用CGPDf函數嘗試在iPad應用程序中使用PDF。我在iPhone中使用這個和它的作品完美,但是當我使用的iPad相同的代碼,頁面的尺寸縮小了,一試奏後,我設置比例在iPad中使用PDF

CGContextScaleCTM(context,1.85, -1.80); 

這一次它符合如下屏幕完美,但這只是一個試驗和錯誤,爲什麼它不適合iPhone中的屏幕,我也正確設置了視圖大小。

任何人都有關於它的線索請讓我知道。

而且這是我的drawRect方法,我在哪裏畫的PDF頁面

void drawRect:(CGRect)rect{ 

UIGraphicsBeginPDFPage(); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, pageNumber); 
CGContextSaveGState(context); 
CGContextTranslateCTM(context, 1.0, self.frame.size.height); 
CGContextScaleCTM(context,1.0, -1.0); 
CGContextDrawPDFPage(context, page); 
CGContextRestoreGState(context); 

}

alt text http://www.freeimagehosting.net/uploads/6b8bb69bb9.png

感謝

+0

爲什麼不能簡單地用一個UIWebView? – kennytm 2010-04-10 10:15:59

+0

你的代碼不均衡地縮放,這是不好的。 – 2010-04-12 00:13:56

+0

@KennyTM:UIWebView提供了顛倒的導航,並且希望導航像書本一樣並排,反正davids解決方案完美運行。 – RVN 2010-10-13 07:32:16

回答

8

你要像做

CGRect box = CGPDFPageGetBoxRect(page, kCGPDFMediaBox); 
CGFloat scale = bounds.size.width/box.size.width; 
if (bounds.size.height/box.size.height < scale) 
    scale = bounds.size.height/box.size.height; 

以適應PDF的大小。

+0

感謝大衛做的工作! 現在它適合完美,但是我面臨另一個問題,我有我的PDF頁面視圖在滾動視圖,以便我可以放大PDF頁面,但是當我放大滾動視圖PDF頁面視圖只是放大和文本PDF格式清晰。任何方法來克服這一點? 我試圖在視圖上調用setNeedsDisplay方法,但得到了混亂。 謝謝 – RVN 2010-04-12 10:43:54

+0

如果有效,那麼投票答案如何,所以更容易發現? 你需要做一些時髦的東西。基本上,默認行爲是放大將以100%縮放比例繪製的像素。因此,您需要以新的比例繪製它們,並將滾動條重置爲100%,以便將其縮放爲未縮放。 – 2010-04-13 23:49:53

+0

投了票,並會嘗試你的想法,謝謝你。 – RVN 2010-04-16 07:42:17

0

,如果您有導航欄啓用,它會留下約10px的在兩側..它會方面只適合你是否會在整個地區(768 * 1004)繪製..