【问题标题】:opening PDF in iOS在 iOS 中打开 PDF
【发布时间】:2014-04-08 07:14:43
【问题描述】:

我是 iOS 新手。我想在 iOS 中添加 PDF 文档。我尝试了两种选择。 iOS 中的 URL 和文档。但是当我尝试使用 URL 打开 PDF 时,我得到空页面。当我尝试使用 pdf 文档时,我在 Xcode 上遇到错误。

我试试这个网址

CGRect rect = [[UIScreen mainScreen] bounds];
CGSize screenSize = rect.size;

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)];

NSURL *targetURL = [NSURL URLWithString:@"http://dokuman.osym.gov.tr/pdfdokuman/2012/OSYS/2012YGSSorular.pdf"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

我试试这个做文档

NSString *path = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

是关于故事板的吗?因为我不用.xib

我收到此错误。

2014-03-06 01:38:49.635 YGS[3934:70b] * 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“只有在源控制器由UINavigationController 的实例。 * 首先抛出调用栈: ( 0 CoreFoundation 0x017395e4 异常预处理 + 180 1 libobjc.A.dylib 0x014bc8b6 objc_exception_throw + 44 2 UIKit 0x0076eca5-[UIStoryboardPushSegue destinationContainmentContext] + 0 3 UIKit 0x0075f07e-[UIStoryboardSegueTemplate _perform:] + 174 4 UIKit 0x0075f0f9 -[UIStoryboardSegueTemplate 执行:] + 115 5 libobjc.A.dylib 0x014ce874-[NSObject performSelector:withObject:withObject:] + 77 6 UIKit 0x0022c0c2-[UIApplication sendAction:to:from:forEvent:] + 108 7 UIKit 0x0022c04e-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 61 8 UIKit 0x003240c1-[UIControl sendAction:to:forEvent:] + 66 9 UIKit 0x00324484-[UIControl_sendActionsForEvents:withEvent:] + 577 10 UIKit 0x00323733-[UIControl touchesEnded:withEvent:] + 641 11 UIKit 0x0059ec7f _UIGestureRecognizerUpdate + 7166 12 UIKit 0x0026919a-[UIWindow_sendGesturesForEvent:] + 1291 13 UIKit 0x0026a0ba -[UIWindow 发送事件:] + 1030 14 UIKit 0x0023de86 -[UIApplication 发送事件:] + 242 15 UIKit 0x0022818f _UIApplicationHandleEventQueue + 11421 16 核心基础 0x016c283f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15 17 核心基础 0x016c21cb __CFRunLoopDoSources0 + 235 18 核心基础 0x016df29e __CFRunLoopRun + 910 19 核心基础 0x016deac3 CFRunLoopRunSpecific + 467 20 核心基础 0x016de8db CFRunLoopRunInMode + 123 21 图形服务 0x036de9e2 GSEventRunModal + 192 22 图形服务 0x036de809 GSEventRun + 104 23 UIKit 0x0022ad3b UIApplicationMain + 1225 24 YGS 0x0000305d 主 + 141 25 libdyld.dylib 0x01d77701 开始 + 1 26 ??? 0x00000001 0x0 + 1 ) libc++abi.dylib:以 NSException 类型的未捕获异常终止 (lldb)

【问题讨论】:

  • 我复制粘贴了你的代码,它对我来说很好用。你确定[self.view addSubview:webView] 吗?并仔细检查您的互联网连接。此外,它是一个 52 页的文档,因此在连接速度较慢的情况下,可能需要一段时间才能加载。
  • 绝对分享错误。
  • 等了 2 小时,但没有成功。是关于 .storyboard 的吗?因为我不使用.xib。

标签: ios iphone pdf


【解决方案1】:

是的,Ozgur 它与您的故事板有关 - “'Push segues 只能在源控制器由 UINavigationController 的实例管理时使用。”

它会告诉您问题所在 - 您正在使用 push 类型的 segue,它试图在源视图控制器不是 UINavigationController 时推送目标视图控制器。更改 segue 的类型或更改源视图控制器的类型,以最适合您的 GUI 设计为准。

【讨论】:

  • 那么你能帮我添加到哪个控制器或如何在情节提要上添加 segue?
  • 你一定已经添加了一个segue,否则你是怎么得到一个?要添加一个segue,你从源视图控制器拖放到目标视图控制器,然后会出现一个弹出窗口,询问你想要哪种类型的segue。我无法告诉您哪种类型,因为我不知道您的程序的上下文和设计,也不知道您自己想要什么类型的 GUI。我已经说过哪种类型的控制器 - 导航控制器。我无法告诉您是否需要导航控制器,原因与我不知道您在应用程序中拥有或想要什么设计。
  • 现在您可以尝试将序列的类型更改为模态以查看它是否有效。然后,您可以决定您的故事板需要如何设计,以符合您希望 GUI 的外观和行为方式,然后您是否需要导航控制器以及您需要哪种类型的 segue。您可以删除旧的转场并重新添加新转场或更改现有转场的类型。
  • 我希望我可以 TeamViewer 你.. 是的,我已经添加了 ''webViewer'' segue,但我在 .storyboard 上找不到它。我看了视频,这似乎是唯一能看到的方法是 .xib ''File Owner Sh*t''。
  • btw 这是一个非常简单的应用程序。 “单一视图”。就像记事本一样。我已经添加了句子。一个标签适用于查看句子。第二个选项卡适用于 PDF。 (不工作,但总有一天会工作:p)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
相关资源
最近更新 更多