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

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

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

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

Q&A

1回答

1397閲覧

ビューの座標と領域について

medamaoyaji

総合スコア14

Swift

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

0グッド

1クリップ

投稿2018/10/18 20:13

編集2022/01/12 10:55

基礎の勉強のために非常に簡単なアプリを作って見たのですが、シュミレーターにかけてみると、うまく起動しません
・メインストーリーボードにUIImageViewを1つ、UIButtonを2つ
・ボタンのひとつは、あらかじめ設定した位置に戻る
・もう1つのボタンは、x座標の値を10ずつ足していき、右に動く
というものを作っています。
しかし、シュミレーターを動かしていても画面が真っ白のままで動きません。
何が原因なのか、改善するためにどうしたらいいか。他にも知識が欲しいので色々ご指摘や、アドバイス、こんな機能もあるよと言いった意見、なんでも教えてくれると嬉しいです。
実際のコードを載せます
UIImageViewに画像の設定はしました
StoryobardのUIimageView,UIButtonは繋いでいます

import UIKit class ViewController: UIViewController { @IBOutlet weak var myCar: UIImageView! let homePint = CGPoint(x: 70, y: 100) @IBAction func goHome(_ sender: Any) { myCar.center = homePint } @IBAction func move(_ sender: Any) { myCar.center.x += 10 } override func viewDidLayoutSubviews() { myCar.center = homePint } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } }

症状はシュミレーターを開いても画面が真っ白なままです。

class AppDelegate: UIResponder, UIApplicationDelegate {

と言うところに
Thread 1: signal SIGABRT
と言うのが出ています

お願いします

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

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

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

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

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

fuzzball

2018/10/19 02:35

UIImageViewに画像は設定していますか?
fuzzball

2018/10/19 05:59

’’’ ではなく ``` です。```の行にはコードを書かないで下さい。(例)```swift(改行)コード(改行)```(改行)
fuzzball

2018/10/19 06:05

OutletやActionはStoryboardと繋がっていますか?例えば、ボタンを押したときに goHome() やmove() は呼ばれていますか?
fuzzball

2018/10/19 06:10

''' じゃなくて ``` です。
medamaoyaji

2018/10/19 06:13

それはどうやって打ち込んだらいいですか?
fuzzball

2018/10/19 06:15

shift+@ です。分からなければコピペして下さい。
fuzzball

2018/10/19 06:18

「例えば、ボタンを押したときに goHome() やmove() は呼ばれていますか?」に答えてください。
medamaoyaji

2018/10/19 06:19

シュミレーターを開いた時、画面が真っ白なままです
fuzzball

2018/10/19 06:23

あぁ、そうか‥。落ちているのではないのでしょうか?Consoleにエラーメッセージなどは表示されていないでしょうか?
fuzzball

2018/10/19 06:37 編集

Console分からないですか?Xcodeの下部に表示されています。表示されていなければ Shift + Command + C で表示されます。
medamaoyaji

2018/10/19 06:46

ViewController.swiftの右下に出力されている文字の事ですかね?すごいたくさんの文字数字が書かれてます
fuzzball

2018/10/19 06:51

とりあえず *** Terminating app due to uncaught exception... と書かれている行から10行くらいコピってみて下さい。
medamaoyaji

2018/10/19 06:56

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x7fa051506230> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key myCar.' *** First throw call stack: ( 0 CoreFoundation 0x000000011072829b __exceptionPreprocess + 331 1 libobjc.A.dylib 0x000000010ed69735 objc_exception_throw + 48 2 CoreFoundation 0x0000000110727e09 -[NSException raise] + 9 3 Foundation 0x000000010e7960b4 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 292 4 UIKitCore 0x00000001131e9532 -[UIViewController setValue:forKey:] + 87 5 UIKitCore 0x0000000112eb2ada -[UIRuntimeOutletConnection connect] + 109 6 CoreFoundation 0x0000000110713ddd -[NSArray makeObjectsPerformSelector:] + 317 7 UIKitCore 0x0000000112dcc6d1 -[UINib instantiateWithOwner:options:] + 1814 8 UIKitCore
guest

回答1

0

myCarのアウトレットが繋がっていません。
一度、(Storyboard側で)アウトレットを削除して繋ぎ直して下さい。

投稿2018/10/19 07:04

fuzzball

総合スコア16731

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

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

medamaoyaji

2018/10/19 07:08

Storyborad側のUIImageViewを削除して作り直せばいいですか?
medamaoyaji

2018/10/19 07:14

繋ぎ直して見たのですが、また同じ状態になってしまいました。何度も試したらいいですか?
fuzzball

2018/10/19 07:18 編集

>>UIImageViewを削除して作り直せばいいですか? それでもいいですが、UIImageViewを右クリックしたあと、アウトレットの✕印をクリックすれば削除できます。
fuzzball

2018/10/19 07:18

>>また同じ状態になってしまいました Consoleの出力も同じなのでしょうか?
fuzzball

2018/10/19 07:20

reason: '[<UIViewController 0x7fa051506230> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key myCar.' この部分が同じかどうか教えて下さい。
medamaoyaji

2018/10/19 07:21

何回か繋ぎ直して見たのですが、同じ状況になってしまいます。
medamaoyaji

2018/10/19 07:23

reasonの後一緒になってます。
fuzzball

2018/10/19 07:26 編集

ViewControllerを右クリックして表示される接続一覧の中に黄色いビックリマークがありませんか?あれば全て削除して下さい。
medamaoyaji

2018/10/19 16:30

返事遅れてしまってすみません。 黄色いビックリマークは出ていませんでした。 Buildtimeと言うところに2つ黄色いビックリマークが2つありました。そこには ・Views without any layout constraints may clip their content or overlap other views. ・ Views without any layout constraints may clip their content or overlap other views. こう書いてありました。これが原因とかになってたりしますか?
fuzzball

2018/10/19 18:37 編集

「ViewControllerを右クリックして」というのは、Storyboard上での話ですが、間違えていないでしょうか?(ソースの方をクリックしていないでしょうか?) >>これが原因とかになってたりしますか? Autolayoutの警告だと思いますが、それで落ちることはないと思います。
medamaoyaji

2018/10/19 18:15

すみません。勘違いしていました。 ストーリーボード上のViewの上にある黄色い丸の中に白い四角のアイコンで合ってますか? それを右クリックして見たのですが、黄色いビックリマークはありませんでした。
fuzzball

2018/10/19 18:38

合ってます。となると、ちょっと分からないですね‥。 右クリックして表示される黒いウィンドウのスクショ取れますか? Storyboard作り直したら直りそうな気もするので、そっちの方が早いかもしれませんが。
medamaoyaji

2018/10/19 18:44

fuzzballさんに手間をこんなにかけさせてしまって本当にすみません。 もう一度最初から作り直したら何故か動きました。 原因は結局わからない形になってしまって 一様スクショも撮りました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問