理想情況下,我想將我的ppt和pdf文檔加載到無邊框或分隔符的webview中。我不相信這是可能的。所以這個問題能夠很好地處理ppt文檔中的分隔符。UIWebview和powerpoint分隔器問題
我正試圖滾動通過一個PPT使我自己的分頁。我已經嘗試使用內置分頁的webview的滾動視圖,但沒有奏效。使用這種方法計算分頻器高度並且分頻器總是存在是很困難的。
目前我正在測試一個31頁的幻燈片。偶爾會有一些divider顯示在webview的頂部。 (第15,24,25和26頁)
該pptx的縱橫比爲16x9。我的webview是1024x576,我假設這是webview中幻燈片的大小。
我按如下計算分配器大小。
加載文檔時的高度爲18069.
18069/576〜31.369這表示共有31頁。
我計算分隔線佔用的空間量如下:18069-(31 * 576)= 213。
然後213/30 = 7.1是分隔高度。
我非常困惑,因爲分隔高度是小數。此外,我很困惑,爲什麼在第31頁的例子中,第15,24,25,26頁是那些沒有正確排列的頁面。
對不起,到目前爲止似乎是一個針對特定大小的問題,但這裏是我的代碼來處理動態大小文檔的頁面下移動作。
- (void)handlePptSwipeUp:(UISwipeGestureRecognizer *)sender
{
//swipe up means scroll down
CGSize pptSize = pptWebView.scrollView.contentSize;
float y = pptSize.height;
int pages = y/pptWebView.frame.size.height;
float diff = pptSize.height - pages*pptWebView.frame.size.height;
float divider = diff/(pages-1);
CGPoint cOffset = pptWebView.scrollView.contentOffset;
float temp = pptScrollOffset + pptWebView.frame.size.height+divider;
if (temp+pptWebView.frame.size.height <= pptWebView.scrollView.contentSize.height) {
pptScrollOffset = temp;
}
CGRect visibleRect = CGRectMake(cOffset.x, pptScrollOffset, pptWebView.frame.size.width, pptWebView.frame.size.height);
[pptWebView.scrollView scrollRectToVisible:visibleRect animated:YES];
NSLog(@"content width %f\ncontent height %f\npages %d\ndiff %f\ndivider %f\npptScrollOffset %f",pptWebView.scrollView.contentSize.width,y,pages,diff,divider,pptScrollOffset);
}
這裏是滾動一頁
content width 1024.000000
content height 18069.000000
pages 31
diff 213.000000
divider 7.100000
pptScrollOffset 583.099976
這可能會以失敗或複雜的一團糟結束。 UIWebView具有極其複雜的視圖層次結構和底層繪圖方法。我可能會購買不使用UIWebView的PowerPoint演示文稿。 – CodaFi 2012-02-19 23:44:36