前提・実現したいこと
5秒ごとに自動的に画像が切り替わるというアプリを製作中です。
アプリ自体は動くのですが、画像がうまく表示されていない状況です。
画像が表示終わると、次のViewControllerに写せるようにしていきたいと思っています。
初心者なので、何をどうして良いのかわからずにいます。
教えていただけないでしょうか。
該当のソースコード
lang
1 2 var timer:Timer! 3 4 var count:Int = 0 5 6 var dispImageNo = 0 7 8 var imageView = UIImageView() 9 10 11 override func loadView() { 12 let view07A = UIView() 13 view07A.frame = CGRect(x:0, y:0, width:375, height:669) 14 view07A.backgroundColor = .white 15 self.view = view07A 16 17 let image = UIImage(named:"画像") 18 imageView.image = image 19 self.view.addSubview(imageView) 20 } 21 22 @objc func timerAction(sender:Timer){ 23 24 count = count + 1 25 26 dispImageNo = count % 2 27 28 print("カウントダウン") 29 30 pictureView() 31 32 33 } 34 override func viewDidLoad() { 35 super.viewDidLoad() 36 37 createTimer() 38 } 39 40 func createTimer () { 41 42 timer = Timer.scheduledTimer(timeInterval:5.0, 43 target:self, 44 selector: #selector(ViewController_7A.timerAction(sender:)), 45 userInfo:nil, 46 repeats:true) 47 48 49 50 51 DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) { 52 53 54 print("3秒後に呼ばれます") 55 } 56 } 57 func pictureView() { 58 59 let pictureArray = ["画像", 60 "画像", 61 "画像", 62 "画像" 63 ] 64 65 let name = pictureArray[dispImageNo] 66 67 let image = UIImage(named: name) 68 69 self.imageView.image = image 70 71 let screenWidth:CGFloat = view.frame.size.width 72 let screenHeight:CGFloat = view.frame.size.height 73 74 75 self.imageView.center = CGPoint(x:screenWidth/2, y:screenHeight/2) 76 77 view.addSubview(self.imageView) 78 79 } 80
コードは ``` で囲って下さい。 https://teratail.com/help#about-markdown
修正依頼ありがとうございます。手直ししました。
回答1件
あなたの回答
tips
プレビュー