我试图将图片添加到 UIImageView
中,但是在我这么做之后 UIImageView
为空。以下是我的代码:
class ViewController: UIViewController {
@IBOutlet var myView: UIView!
@IBOutlet weak var testImg: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
UIGraphicsBeginImageContext(CGSize(width: 500,height: 500))
var path = UIBezierPath()
path.lineWidth = 1.0
path.moveToPoint(CGPoint(x: 150, y: 150))
var x = 151
for ;x<300;x++
{
path.addLineToPoint(CGPoint(x: x, y: x))
path.moveToPoint(CGPoint(x: x, y: x))
}
path.stroke()
let img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
testImg = UIImageView(image: img)
testImg.frame = CGRect(x: 0,y: 0,width: 500,height: 500)
myView.addSubview(testImg)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
当我尝试给 UIImageView
设置框架时,我得到了这个错误:
致命错误:在拆包 Optional 值时意外地找到 nil
可能是我没有正确创建图像。
更新
testImg = UIImageView(image: img)
这行代码覆盖了
UIImageView
的 IBOutlet
,将其删除并简单地执行了 testImg.image = img
,解决了问题。