#やりたいこと
ど初心者です。ご意見・助言いただければ嬉しいです。
Timerで5秒ごとに絵を切り替えるプログラミングを作成したのですが、
これを一通り表示した後、タイマーを止めたいです。
if文でどうにかできるかと試しましたが、文自体が悪いのかダメでした。
どのように対処すれば良いでしょうか。
#対象コード
swift
var timer:Timer! var count:Int = 0 var dispImageNo = 0 var imageView = UIImageView() override func loadView() { let view07A = UIView() view07A.frame = CGRect(x:0, y:0, width:375, height:669) view07A.backgroundColor = .white self.view = view07A } @objc func timerAction(sender:Timer){ count = count + 1 dispImageNo = count % 10 print("カウントダウン") pictureView() } override func viewDidLoad() { super.viewDidLoad() createTimer() } func createTimer () { timer = Timer.scheduledTimer(timeInterval:5.0, target:self, selector: #selector(ViewController_7A.timerAction(sender:)), userInfo:nil, repeats:true) if count >= 10{ timer.invalidate() } DispatchQueue.main.asyncAfter(deadline: .now() + 55.0) { let view07A = UIView() view07A.frame = CGRect(x:0, y:0, width:375, height:669) view07A.backgroundColor = .white self.view = view07A let button07A = UIButton() button07A.frame = CGRect(x:90, y:300, width:200, height:50) button07A.setTitle("次へ", for: .normal) button07A.setTitleColor(UIColor.white, for: .highlighted) button07A.layer.cornerRadius = 20.0 button07A.backgroundColor = .blue self.view.addSubview(button07A) } } func pictureView() { let pictureArray = ["画像", "画像", "画像", "画像", "画像", "画像", "画像", "画像", "画像", "画像" ] let name = pictureArray[dispImageNo] let image = UIImage(named:name) self.imageView.image = image imageView.frame = CGRect(x:0, y:0, width:200, height:300) let screenWidth:CGFloat = view.frame.size.width let screenHeight:CGFloat = view.frame.size.height self.imageView.center = CGPoint(x:screenWidth/2, y:screenHeight/2) view.addSubview(self.imageView) } @objc func tapp(_ sender:UIButton) { let nextvc = ViewController_7A() self.present(nextvc, animated: true, completion: nil) }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。