2017-09-18 69 views
0

我正在嘗試設置tableView.tableHeaderView爲圖像設定圖像表頭查看

var ImageHeader: UIImageView! 
    let url = "https://i.pinimg.com/564x/f3/d6/71/f3d671c71d6f19d34f856103758ff203.jpg" 


    ImageHeader.hnk_setImage(from: URL(string: url)) // error here 
    tableView.estimatedSectionHeaderHeight = 40.0 
    self.automaticallyAdjustsScrollViewInsets = false 
    let header = UIView(frame : CGRect(x : 0,y:0, width : tableView.frame.width , height : 100)) 
    header.addSubview(ImageHeader) 
    tableView.tableHeaderView = header 

此代碼給我

fatal error: unexpectedly found nil while unwrapping an Optional value

+1

在哪一行,你得到這個錯誤? – GIJOW

+0

再次檢查我的問題 – leo0019

回答

1

其實你不創建一個UIImageView。所以ImageHeadernil,你強制解開它。繁榮!

嘗試這樣:

let url = "https://i.pinimg.com/564x/f3/d6/71/f3d671c71d6f19d34f856103758ff203.jpg" 

var imageHeader = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) 
imageHeader.hnk_setImage(from: URL(string: url)) 
let header = UIView(frame : CGRect(x : 0,y:0, width : tableView.frame.width , height : 100)) 
header.addSubview(imageHeader) 
tableView.tableHeaderView = header 
+0

'ImageView大小爲零。設置其框架,首先調用sizeToFit或強制佈局。如果你不想強制佈局,你也可以設置一個定義大小的自定義格式。' – leo0019

+0

因此,添加一個調用'sizeToFit()',如我更新的答案中所示。 – rmaddy

+0

同樣的錯誤再次 – leo0019

0

ImageHeader爲零。你從來沒有實例化它。也只有類名應該以大寫字母開頭。

+0

我該如何解決這個問題? – leo0019