我剛剛被這個非常簡單的代碼(我從項目中分離出來)的失敗所淹沒。Swift 2.2 - 以編程方式初始化UIImageView的正確方法
import UIKit
class ViewController: UIViewController {
weak var garageDoor: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
if let image = UIImage(named: "garagedoorclosed") {
print("image ready: \(image)")
garageDoor = UIImageView(image: image)
print("garageDoor: \(garageDoor)")
garageDoor.frame = CGRectMake(0, 0, 560, 400) // fails here!
view.addSubview(garageDoor)
}
else {
print("image not ready!")
}
}
}
我只想用名爲garagedoorclosed
的圖像初始化UIImageView。
我不知道爲什麼我沒有初始化garageDoor
與garageDoor = UIImageView(image: image)
。
我下面的截圖:
任何意見表示讚賞!
謝謝
是的,這是訣竅!重新使用你的方法,但初始化garageDoor後,我把它分配回實例變量,然後它通過錯誤!你對這個奇怪的案例有任何解釋嗎?這是UIImageView的錯誤嗎? – quanguyen
這不是一個錯誤的UIImageView。這與強和弱的概念有關。我會在我的回答中解釋 – David