アプリのナビゲーションバーの部分に更新機能ボタンを実装しているのですが、そちらをリサイズしようとするとリサイズは出来ているのですが、"UIGraphicsBeginImageContextWithOptions"
このせいなのかなぜか画像が半透明みたいになります。
一応、第2引数をfalseにしているので透過は入らないはずなのですが、
なぜこのようになるのでしょうか?
追記:
最初にopaque=trueにしたのですが、画像のシルエットだけ見えるようになったので、falseに変更し画像は確認できるものの透過がかかり薄く表示されてしまうことが解決出来ず質問させていただきました。
let rightButton = UIBarButtonItem() rightButton.image = UIImage(named: "reload.png")?.withRenderingMode(UIImageRenderingMode.alwaysOriginal).ResizeUIImage(width: 60, height: 30) self.navigationItem.rightBarButtonItem = rightButton rightButton.action = #selector(SecondViewController.reload(_:)) rightButton.target = self
extension UIImage{ // 画質を担保したままResizeするクラスメソッド. func ResizeUIImage(width : CGFloat, height : CGFloat)-> UIImage!{ let size = CGSize(width: width, height: height) UIGraphicsBeginImageContextWithOptions(size, false, 0.0) _ = UIGraphicsGetCurrentContext() self.draw(in: CGRect(x:0, y:0, width:size.width, height:size.height)) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return image } }
回答2件
あなたの回答
tips
プレビュー