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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

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

Q&A

解決済

1回答

1224閲覧

ViewControllerを切り替える方法を知りたい

watchdogs

総合スコア54

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

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

0グッド

0クリップ

投稿2020/06/25 01:37

編集2020/06/25 05:45

あらかじめ設定した時間が来たら
がめんを切り替える
使用を入れたいです。
下記のプログラムはタイマーの時間が来たら(duration = 0)soundに割り当てられている音楽が流れる仕様になってます。
ここで音楽を鳴らすと同時に画面を切り替える仕様を追加したいです。

編集ソース
@objc func timerStop(_ timer: Timer){
duration += 1
if displayUpdate() <= 0 {
duration = 0
timer.invalidate()
//追記
performSegue(withIdentifier: "openSecond", sender: nil) 
}

追記
SecondViewController

import UIKit
class SecondViewController: UIViewController {

@IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // バンドルした画像ファイルを読み込み let image = UIImage(named: "画像.png") // Image Viewに画像を設定 imageView.image = image }

// バンドルした画像ファイルを読み込み
let image = UIImage(named: "画像.png")

// Image Viewに画像を設定
imageView.image = image
}

}

また設定では
ViewControllerのidをsecondと設定
その画面上には画像を出したいと思っています。

アドバイスを頂けると助かります。
よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

画面を遷移させるのであれば

のうち、「Segueを使った画面遷移(コードを使用)」もしくは「Segueを使わない画面遷移」の方法がほぼそのまま活用できるかと思います。

投稿2020/06/25 03:25

TsukubaDepot

総合スコア5086

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

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

watchdogs

2020/06/25 05:18

ご回答ありがとうございます。 本妻を参考に 下記のプログラムを作成したのですが、落ちてしまいます。原因がわからないので教えて頂けますでしょうか。 編集したプログラム @objc func timerStop(_ timer: Timer){ duration += 1 if displayUpdate() <= 0 { duration = 0 timer.invalidate() //時間がゼロになると画面を切り替える performSegue(withIdentifier: "openSecond", sender: nil) } 上記はMain のViewControllerのソースです。 タイマーが0になると SecondViewに移行したいです。 SecondViewでやらせたいことは画像の表示です ソースは下記です。 import UIKit class SecondViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // バンドルした画像ファイルを読み込み let image = UIImage(named: "画像.png") // Image Viewに画像を設定 imageView.image = image } } ご教授いただけますでしょうか。 よろしくお願い致します。
TsukubaDepot

2020/06/25 05:26

どの行でどのような内容のエラーがでていますでしょうか。 また、コメント欄だとソースもエラーコードも見にくくなりますので、ご質問本文に「追記」という形で追加していただけないでしょうか。
watchdogs

2020/06/25 05:46

ありがとうございます 編集させて頂きました。 エラーというよりアプリが落ちるんです。
TsukubaDepot

2020/06/25 05:53

落ちるときにはまず間違いなくデバッグエリアにメッセージが表示されますが、それは表示されていませんでしょうか。 Xcodeをフルスクリーン実行しているのであれば、シミュレータで実行するときはシミュレータとXcode両方を同じ画面に出し、エラーが出ていないかどうか確認するとわかりやすいと思います。
watchdogs

2020/06/25 07:14

デバッグのアドバイスありがとうございます。 エラーが出てきました Thread 1: Exception: "Receiver (<Timer_NEXT.ViewController: 0x7f81b4507570>) has no segue with identifier 'openSecond'" になります。
watchdogs

2020/06/25 07:27

確認しましたが、 状況変わらないんですよね。 困りました。
TsukubaDepot

2020/06/25 07:38

全ての設定をスクリーンキャプチャで見られれば解決も早いのですが実際は現実的ではないので、新規にプロジェクトを立ち上げ、Interface Builder で Storyboard を作り直し、ソースコードはそのまま流用してみてはいかがでしょうか。 間違いは必ずどこかにあるはずなのですが、いまはその追及に時間をかけても仕方がないと思います。 もし作り直したプロジェクトでも問題ああるのであれば、またそのとき考えたいと思います。
watchdogs

2020/06/25 09:45

わかりました。 作り直しているんですが、 実行するとシミュレーターの画面が真っ暗になったりと かなり動作が不安定です。 こんなものなのでしょうか。
TsukubaDepot

2020/06/25 10:29

シミュレータの画面が真っ暗になる、というのは、ご自身で作ったアプリを実行されたときでしょうか。 そうであれば、起動時の画面の設定がおかしい場合なのですが、コードや設定をよほどいじらない限りそのようなことは起きないと思います。 たとえば、ラベルを一つだけ表示するようなごくシンプルなアプリ(たとえば、StoryBoardでラベルを一つだけ追加し、コードは一切書かないアプリ)をつくってもそうなるのでしょうか。
watchdogs

2020/06/25 11:20

立ち上げの時ですね、 白い画面から立ち上がろうとして失敗しているようにも見えます。 一度真っ暗に表示されると2回目以降はコードをコメントアウトして内容を減らしてもずっと同じです。 パソコンはかなりハイグレードなものを使っていますので少々なことではこけないとも思うのですが、、、
TsukubaDepot

2020/06/25 11:25

アプリを立ち上げて止まった時のシミュレータの画面と、Xcodeのコードを表示している画面(行番号が写っている状態で)の両方のスクリーンショットを撮って掲載していただくことは可能でしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問