質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.40%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

251閲覧

swiftでViewを3回点滅させてから表示したい

hinata_uchan

総合スコア4

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2024/06/19 06:30

編集2024/06/19 16:19

実現したいこと

swiftでViewを3回点滅させてから表示させたいです

発生している問題・分からないこと

下記コードで試したところ、点滅されず、3秒後にviewがパッと表示されるだけでした。

該当のソースコード

swift

1import UIKit 2 3class ViewController: UIViewController { 4 5 @IBOutlet weak var dot: UIImageView! 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 10 UIView.animate(withDuration: 1.0, delay: 0.0, options: .repeat, animations: { 11 self.dot.alpha = 0.0 12 },completion: nil) 13 14 Timer.scheduledTimer(withTimeInterval: 3.0, repeats: false){(_) in 15 16 self.dot.alpha = 1.0 17 } 18 } 19}

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

ネットで調べた限り、上記コードで実現可能とのことでした。
どこが間違っているのか分からず、教えて頂きたいです。

補足

macOS Sonoma 14.4.1
xcode Version 15.4

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

該当のソースコードについて、
私の環境では点滅して動いているようでした。

macOS Sonoma 14.5
Xcode Version 15.2

イメージ説明

環境も質問欄に書いていただいた方が良いかなと思いました。

追記です。

コメントと質問欄の修正ありがとうございます。

macOSの環境はSonoma 14.5のままですが、
XcodeはVersion 15.4にして再現確認してみました。
やっぱりちゃんと点滅しているように見えますね。

ImageViewのAlphaはデフォルトで1だと思いますが、
このあたりも含めて何か変更しているところはありますでしょうか。
基本的にはStoryboardでImageViewを追加して、変更するところはImageプロパティだけにして再現確認した方が良いと思います。
それから少しずつ理解・確認しながら必要なプロパティを変更していった方が良いと思います。

あとは、点滅するのはImageViewの部分だけという認識ですよね。

私がお力になれるのはここまでのようです・・

投稿2024/06/19 13:03

編集2024/06/20 03:39
yametai

総合スコア255

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hinata_uchan

2024/06/19 16:18

ご確認いただき、ありがとうございます。 環境の件ご指摘ありがとうございます。 こちら、 macOS Sonoma 14.4.1 xcode Version 15.4 でございます。
hinata_uchan

2024/06/21 01:46

追記でのご回答・アドバイスありがとうございます。 確認したところ、Alphaはデフォルトの1でした。 念のため、別のimageViewを追加し、そちらにコードを紐づけてみましたが同じ動きでした。。。 点滅する部分はimageViewだけです。 地道に確認しながら、ポチポチといじってみます! ご協力ありがとうございました。
guest

0

自己解決

同じ内容でviewDidAppearに移動したら、動くようになりました。
下記コードです。

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var dot: UIImageView! override func viewDidLoad() { super.viewDidLoad() } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UIView.animate(withDuration: 1.0, delay: 0.0, options: .repeat, animations: { self.dot.alpha = 0.0 },completion: nil) Timer.scheduledTimer(withTimeInterval: 3.0, repeats: false){(_) in self.dot.alpha = 1.0 } }

}

投稿2024/07/02 08:12

hinata_uchan

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.40%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問