我有一個包含UIImageView的tableView,如果圖像有一個URL,那麼圖像顯示,如果沒有圖像顯示。我遇到的問題是,如果沒有Image,那麼TableView中會出現一個大的空白點,就像有圖像一樣。有沒有辦法減少空白點或隱藏它(下面的圖片)?該圖像是中央的大UIImageView。這是我的代碼,當涉及到的圖像IOS Swift如何隱藏表格視圖中的圖像空間
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "MyFeed", for: indexPath) as! MyFeed
if stream_image_string[indexPath.row].characters.count > 2 {
let strCellImageURL = self.stream_image_string[indexPath.row]
let imgURL: NSURL = NSURL(string: strCellImageURL)!
let request:NSURLRequest = NSURLRequest(url: imgURL as URL)
let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)
let task = session.dataTask(with: request as URLRequest, completionHandler: {(data, response, error) in
DispatchQueue.main.async(execute: {() -> Void in
cell.post_image.image = UIImage(data: data!)
})
});
task.resume()
} else {
cell.post_image!.isHidden = true
cell.post_image!.image = nil
}
return cell
}
從本質上講,如果字符串回來有2個或更多字符,那麼這是一個有效的URL和圖像被下載;我正在專注於部分是else語句和驗證碼
else {
cell.post_image!.isHidden = true
cell.post_image!.image = nil
}
,如果它在else語句所以,很顯然那麼有沒有像我設置圖片爲空或零,然後我試圖隱藏通過將圖像設置爲隱藏但額外的空白空間不起作用。有關我如何隱藏白色空間的任何想法?我也一直在閱讀這個問題,但它不工作iOS swift imageView cannot be hidden in TableViewCell
最簡單的方法(我認爲)是將圖像的寬度更改爲0 – Axel
爲imageView的寬度約束創建出口,並在沒有圖像時將其固定爲零。 –
如果您想使用帶有插座的圖像(自定義圖像視圖),則可以創建兩個不同的單元格,否則應該使用圖像視圖作爲運行時。 –