【发布时间】:2016-03-12 12:08:32
【问题描述】:
我有一个视图控制器,它包含两个容器。第一个容器嵌入了具有 2 个按钮的 FirstViewController,第二个容器嵌入了具有 webview 的 PreviewViewController。我想在那个 Webview 中加载 pdf。我已经采取了webview的出口。在 ViewDidLoad Webview 上是隐藏的。现在我想要,如果我点击任何应该显示 webview 的按钮,然后点击 Button1 webview 应该加载名为 1 的 PDF,点击 Button2 webview 应该加载名为 2 的 PDF。
现在我不知道该怎么做!!这是我的代码。它给了我一个错误
在展开可选值时意外发现 nil
在下面给出的代码中的webview.hidden = true 行。这是写在PreviewViewController。
@IBOutlet var webview: UIWebView!
func showpdf(id : Int)
{
webview.hidden = false
if id == 1
{
if let pdf = NSBundle.mainBundle().URLForResource("1", withExtension: "pdf", subdirectory: nil, localization: nil) {
let req = NSURLRequest(URL: pdf)
// let webView = UIWebView(frame: CGRectMake(30,30,self.view.frame.size.width-250,self.view.frame.size.height-250))
webview.loadRequest(req)
self.view.addSubview(webview)
}
}
else if id == 2
{
if let pdf = NSBundle.mainBundle().URLForResource("2", withExtension: "pdf", subdirectory: nil, localization: nil) {
let req = NSURLRequest(URL: pdf)
webview.loadRequest(req)
self.view.addSubview(webview)
}
}
}
现在,我在 buttonclick 上从 FirstViewController 调用这个函数。
PreviewViewController().showpdf(1)
但应用程序因上面给出的错误而崩溃。谁能建议我如何解决这个问题?
编辑: 我在 FirstViewController 的 Button Click 按钮单击时调用它。
@IBAction func btnSave(sender: UIButton) {
PreviewViewController().showpdf(5)
}
谢谢。
【问题讨论】:
-
为什么一个视图控制器中有多个视图控制器?
-
我在主控制器中有两个容器.. 两个容器嵌入了两个 ViewControllers @Tim Vermeulen
-
你必须调用 PreviewViewController 实例,而不是它的类。给我们更多的代码,你在哪里以及如何使用 PreviewViewController
-
@RiddhiShah 为什么不将这些“容器”添加到原始视图控制器中?没有必要为所有东西都设置一个单独的控制器。
-
我已经看到了类似的问题。答案只能是,阅读或观看有关 iOS 中委托和 MVC 的教程。
标签: ios swift xcode6 containers