現在、複数の画面から構成されているアプリを勉強作成中です。画面どうしはセグエで接続をしています。
Image ViewでImageを設定し、ViewController.swiftに接続(@IBOutlet weak var hogeImage: UIImageView!
)したうえ、Imageのalphaを0に設定すると、以下のコードを記すことで、フェードインが実行されます。
Swift
1UIView.animate(withDuration: 2.0) { () -> Void in 2self.hogeimage.alpha = 1.0
これを、ViewController.swift
以外の画面(たとえば、2ページ目のSecondViewController.swift
)で実行しようとすると、Simulatorでフェードインの再現がされず、画面遷移と同時に表示されてしまいます。
エラーやbreakpointは出ておらず、コード的な問題はないと思われるのですが(そもそもViewController.swift
と同じ書き方をしているのに、SecondViewController.swift
でエラーが出るのだとすれば意味がわからない)、なぜ再現がされないのかわかりません。
UIView.animate(フェードイン)
の吹き出し(ImageView)とDispatch.Queue.main.asyncAfter(遅延実行)
のセリフ(Label)のタイミングを合わせたいので、Simulatorの問題だとしても、何とか解決したいと考えています。
調べれば出そうなものでしたが...。調べ方が悪いのか、検索ワードが悪いのか。なかなか得られたい情報が見つからなかったため、こちらで質問をさせていただきます。
何か対策方法はあれば、ご教授をお願いいたします。
回答1件
あなたの回答
tips
プレビュー