2015-07-19 12 views
0

我想在自定義單元格中顯示一個網頁並編寫如下代碼,但是我無法完成工作。UITableViewCustomCell中的WKWebView無法正常工作

該應用程序崩潰在「self.webView!.navigationDelegate = self」行中說「線程1:EXC_BAD_INSTRUCTION_i386_INVOP,子碼= 0x0」。

如果我註釋掉這一行,我可以構建它,但應用程序不顯示任何內容。 (這個單元格的高度變成零,我看不到任何內容。)

我將不勝感激。

ContentViewController.swift(有一個UITableView視圖控制器)

if indexPath.section == 0 { 
    var cell : ArticleWKWebViewCustomCell = tableView.dequeueReusableCellWithIdentifier("ArticleWKWebViewCustomCell") as! ArticleWKWebViewCustomCell 

      return cell 
     } 
else ....(abbreviated)  

ArticleWKWebViewCustomCell.swift 進口的UIKit 進口的WebKit

class ArticleWKWebViewCustomCell: UITableViewCell, WKNavigationDelegate { 

    @IBOutlet weak var view: UIView! 
    var webView: WKWebView? 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     self.webView!.navigationDelegate = self 

     self.webView = WKWebView() 
     view.addSubview(self.webView!) 

     let url = NSURL(string:"http://www.yahoo.co.jp") 
     let request = NSURLRequest(URL: url!) 
     self.webView!.loadRequest(request) 
    } 

    func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) { 
     println("Finished navigating to url") 
    } 

    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 

     // Configure the view for the selected state 
    } 

} 

回答

0

我解決它,謝謝指教從我的一個朋友。 我發現我需要爲webView設置框架的大小。 我在view.addSubview(self.webView!)之後加了

self.webView?.frame = CGRectMake(0, 0, CGRectGetWidth(view.frame), CGRectGetHeight(view.frame))