我在一个uiwebview中获得了一个pdf查看器,来自Daniel Barry http://github.com/danberry/PDF-Viewer并且效果非常好,它显示了一个可以向上和向下滚动的pdf文档。
现在我想只显示一个页面,并在pdf页面上显示一个菜单,其中包含prev和next按钮。任何人都可以帮助新手弄清楚如何? 谢谢!
#import "PDFViewController.h" // PDF View Controller
@implementation PDFViewController
// Synthesize UI Element properties
@synthesize webView;
// Synthesize Variable properties
@synthesize pdfURL;
#pragma mark -
#pragma mark UIViewController methods
- (void)viewDidLoad {
[super viewDidLoad];
pdfURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"stuff pdf" ofType:@"pdf"]];
[webView loadRequest:[NSURLRequest requestWithURL:pdfURL]];
webView.transform = CGAffineTransformScale( webView.transform, 1.00, 1.00 );
}
#pragma mark -
#pragma mark Memory Management
- (void)dealloc {
[webView release];
[pdfURL release];
[super dealloc];
}
@end
答案 0 :(得分:0)
我认为webview应该使用默认请求显示PDF,不需要新的实现吗?
无论如何......有两种方法可以查看并链接到上一个和下一个按钮
- (void)goBack:(id)sender
{
if ([webView canGoBack]) {
[webView goBack];
}
}
- (void)goForward:(id)sender
{
if ([webView canGoForward]) {
[webView goForward];
}
}
以下是UIWebView的文档,其中详细解释了这些方法:http://developer.apple.com/iphone/library/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html
编辑:哦,我想,我首先误解了你的问题......
只需创建要加载的PDF网址的数组即可。创建一个计数器变量,它将保存当前打开的PDF的索引值。
最后类似于上述方法创建前进和后退方法并将它们链接到 prev和next按钮。在这些方法中,您将计数器递增或递减1 并从数组[array objectAtIndex:counter]
加载适当的索引,以便打开下一个或上一个PDF。
如果您需要更多帮助,请告诉我......
答案 1 :(得分:0)
好的我会发布这个作为另一个答案......
在头文件中添加
NSArray *arrURLs;
NSInteger *currentIndex;
并使数组成为属性(保留),在.m文件中合成它,并在 dealloc 中释放它。
在- (void)viewDidLoad
中使用所有URL初始化数组并将currentIndex设置为0.
arrUrls = [[NSArray alloc] initWithObjects:@"url", @"url", ..., nil];
currentIndex = 0;
添加两种方法,例如 prevPage 和 nextPage ,并将它们链接到您的按钮。在那些方法中,你会做类似的事情......
// next page
currentIndex += 1;
NSString *str = [arrUrls objectAtIndex:currentIndex];
NSURL *url = [NSURL URLWithString:str];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
我可能会创建另一种设置 currentIndex 的方法,并检查它是否在正确的范围内(例如,不应小于0且必须小于数组的长度)。你可以改变第一行,让方法调用处理变量的输入/递减。
希望这会有所帮助。