我的窗口的一半是UITableView
和其他是PageViewController
。斯威夫特:刷新UIImageView圖片
在我PageViewController,我有兩個特性:
@IBOutlet weak var displayImageView: UIImageView!
var displayImage : UIImage?
PageViewController viewDidLoad
我分配:
override func viewDidLoad() {
super.viewDidLoad()
self.displayImageView.image = self.displayImage
}
displayImageView
是Storyboard
連接到我的場景中的outlet
。由於User
點擊不同的單元格,我希望displayImageView
中的圖像發生變化。
在我parentViewController
顯示的tableView
和PageViewController
,我叫下面的方法在我didSelectRowAtIndexPath
func getDisplayImageForSelectedRow() {
var row = self.tableView.indexPathForSelectedRow()?.row
//DisplayImageVC is a contentViewController that is loaded by pageViewController
var displayImageVC = self._pageContent[1] as DisplayImageVC
displayImageVC.displayImage = self._displayImage[row!] as UIImage
println(displayImageVC.displayImage)
if (self.isPageViewVisible){
displayImageVC.displayImageView.reloadInputViews()
displayImageVC.displayImageView.setNeedsDisplay()
}
}
這裏日誌從println()
:
You selected cell #0
Optional(<UIImage: 0x7c21c2e0>)
You selected cell #1
Optional(<UIImage: 0x7c21c5a0>)
You selected cell #2
Optional(<UIImage: 0x7c21cd00>)
You selected cell #3
Optional(<UIImage: 0x7c21cff0>)
You selected cell #4
Optional(<UIImage: 0x7c21d2d0>)
基於日誌,我相信正在分配新圖像;然而,UIImageView
插座繼續顯示第一次加載pageViewController時加載的相同圖像。
正如你可以在代碼中已經注意到了,我試圖下面幾行代碼來獲取的UIImageView刷新,但無濟於事:
displayImageVC.displayImageView.reloadInputViews()
displayImageVC.displayImageView.setNeedsDisplay()
我怎樣才能獲得UIImageView
展現新形象那是加載?
displayImage.image = ... 輕微混淆,我認爲。 –
displayImage是一個UIImage。 – user1107173