iPhoneアプリを作ってる時にUIGraphicsGetCurrentContext()がnilを返してハマったのでメモ。
前回の記事にあるUIViewをUIImageに変換する際に起きた問題。
www.cl9.info
下のようなコードを書いたらnilが返ってきた。
let view = UIView() view.toImage() // CGContextTranslateCTM: invalid context 0x0. This is a serious error. というエラーも発生。
調べた所toImage
内のUIGraphicsGetCurrentContext()
がnilを返している事が原因らしい。
色々試したところviewのwidthとheightが0になってる事が原因だと判明。
widthとheightをちゃんとセットしたら動いてくれた。
let view1 = UIView(frame: CGRectMake(0.0, 0.0, 1,0, 1,0)) // これなら動く view1.toImage() let view2 = UIView(frame: CGRectZero) // Zeroだとダメ view2.toImage() let view3 = UIView(frame: CGRectMake(0.0, 0.0, 0,0, 1,0)) // widthだけ0の時もダメ view3.toImage()