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

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

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

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

Swift

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

Q&A

解決済

1回答

6171閲覧

macのキーボードからシミュレーターのテキストフィールドに入力できない

lernon

総合スコア14

Xcode

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

Swift

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

0グッド

0クリップ

投稿2018/03/16 04:34

編集2018/03/16 09:27

前提・実現したいこと

swift4、xcodeで簡単なのtodoアプリを作っています。
エラーメッセージは起きていなく、シミュレーターは正常に起動するのですが、
alertのtextfieldに入力ができません。
入力ができないというのは、
キーボードを押してもtextfieldには反映されないという状況です。
サンプルコードの方は正常に動作します。

サンプルコードと比べて違いはないのでコードの問題ではないのだと思います。

行き詰まってしまって困っていたので、
お助けいただければとても嬉しいです。

該当のソースコード

swift

1 @IBAction func tapAddBtn(_ sender: Any) { 2 //アラートの設計 3 let alertController = UIAlertController(title: "TODO追加", 4 message: "TODO入力しろぉ", 5 preferredStyle: UIAlertControllerStyle.alert) 6 //アラートの追加 7 alertController.addTextField(configurationHandler: nil) 8 //OKボタンの設計 9 let okAction = UIAlertAction(title: "ok", 10 style: UIAlertActionStyle.default){ (action:UIAlertAction) in 11 if let textField = alertController.textFields?.first { 12 let myTodo = MyTodo() 13 myTodo.todoTitle = textField.text! 14 self.todoList.insert(myTodo, at: 0) 15 self.tableView.insertRows(at: [IndexPath(row: 0, section: 0)], 16 with: UITableViewRowAnimation.right) 17 //TODOリストの保存処理 18 let userDefaults = UserDefaults.standard 19 //data型にシリアライズ 20 let data = NSKeyedArchiver.archivedData(withRootObject: self.todoList) 21 userDefaults.set(data, forKey: "todoList") 22 userDefaults.synchronize() 23 } 24 } 25 //OKボタンの追加 26 alertController.addAction(okAction) 27 //キャンセルボタンの設計 28 let cancelButton = UIAlertAction( 29 title: "CANCEL", 30 style: UIAlertActionStyle.cancel, handler: nil) 31 //キャンセルボタンの追加 32 alertController.addAction(cancelButton) 33 //アラートの表示 34 present(alertController, animated: true, completion: nil) 35 }

バージョン

MacBook (Retina, 12-inch, Early 2016)
OSバージョン10.13.3

あ

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/03/16 08:12

同じ環境で、他のプロジェクトを作って、テキストフィールをViewControllerに貼ってみたりして、MACのキーボードから入力できるか試してみたりすると問題点の切り分けができたりしますよ。
fuzzball

2018/03/16 08:23 編集

機種/OSのバージョンを教えて下さい。
lernon

2018/03/16 09:18

>tyobigoroさん 助言ありがとうございます。新しいプロジェクトを作って試したところ、同じようにmacのキーボードからは入力できませんでした。xcodeの設定?の問題だと考えています。
lernon

2018/03/16 09:19

>fuzzballさん MacBook (Retina, 12-inch, Early 2016),バージョン10.13.3です
fuzzball

2018/03/16 09:21

いや、シミュレータ側の話です。
lernon

2018/03/16 09:24

>fuzzballさん IOS11.2、Version10.0、機種はiphone8plusです
guest

回答1

0

ベストアンサー

キーボードというのは、Macのキーボードでいいでしょうか?

それならば、メニューの Hardware > Keyboard > Connect Hardware Keyboard にチェックがついているか確認してください。もしくは⌘+Shift+Kを押してください。
チェックがついていないとMacのキーボードで入力してもシミュレータには送られません。

投稿2018/03/16 07:13

u39ueda

総合スコア950

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

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

lernon

2018/03/16 07:58

返信ありがとうございます。 大変助かりました。 おかげでシミュレーター上で操作できるソフトウェアのキーボードで入力することはできました。 しかし、 ・connect Hardware Keyboard にチェックをつけても 相変わらずmacのキーボードからは入力ができない状況です もし心当たりがあればお教え願えないでしょうか。 よろしくお願いします。
u39ueda

2018/03/16 09:48

うーん、チェックを付けたり外したりしても改善しないですか? こちらも新規プロジェクトで提示コードをコピペして(動かない部分はコメントアウトして)試してますが、問題なくMacからキーボード入力できるのでコードやプロジェクトには問題ないはずです。 あとはシミュレータを終了(⌘+Q)して再起動してみるとか、メニューの Hardware > Erase All Content and Settings... でその機種を初期化するとかはどうでしょう。
lernon

2018/03/16 10:31

Erase All Content and Settingsを試したところ、ちゃんと入力できるようになりました。 わざわざ試していただいてありがとうございます。 助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問