実現したいこと
遷移先のコードで画面をタップすると、遷移前に選択した画像が表示され、再度タップすると画像が消えるコードを記載したいです。
遷移前で渡している値はUIImageです。
UIImageViewですと、.removeFromSuperview()を使用し、画像を消すことができるのですが、UIImageだとできません。
何か、いい方法は無いでしょうか?
ご教授のほどよろしくお願いします。
該当のソースコード
import UIKit class SecondViewController: UIViewController, UIGestureRecognizerDelegate { var displayImage: UIImage! var tapCount = 0 override func viewDidLoad() { super.viewDidLoad() } @IBAction func addImage(_ sender: UITapGestureRecognizer) { if tapCount == 0 { let mark = UIImageView(image: displayImage) mark.frame = CGRect(x: 0, y: 0, width: 100, height: 100) mark.center = sender.location(in: self.view) self.view.addSubview(mark) } else if tapCount == 1 { 【ここでタップすると、表示された画像が消える。】 } tapCount = tapCount + 1 tapCount = tapCount % 2 } }
試したこと
class SecondViewController: UIViewController, UIGestureRecognizerDelegate { var displayImage: UIImage! var mark = UIImageView() //このコードを追加 var tapCount = 0 //中略 } else if tapCount == 1 { mark.removeFromSuperview() ➡︎ if tapCount == 0 内の mark と別の扱い(スコープ範囲外)となるため✖️
} else if tapCount == 1 { displayImage.removeFromSuperview() ➡︎Value of type 'UIImage' has no member 'removeFromSuperview'というエラーとなり✖️
ご教授のほど、よろしくお願い致します。
使用している言語
swift
Xvode 11.4
ご教授のほど、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。