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

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

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

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Xcode

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

Q&A

解決済

1回答

2446閲覧

TextFieldの文字が復帰後表示されなくなる

exampapa

総合スコア13

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Xcode

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

0グッド

0クリップ

投稿2017/01/15 16:17

###前提・実現したいこと
xcode8.2.1のObjective-cで質問です。
textfieldをViewControllerに設置しているのですが、
ホームボタンでバックグラウンドに移行した後、
再度起動(復帰)させると、textfieldに入力していた文字が消え、
それ以降入力しても文字が表示されない(文字は入力されている)のですが、
これを回避する方法はありますでしょうか?
どこかでtextfieldを初期化すれば良いとは思うのですが、
復帰時にviewDidAppearに引っかからないようで、どうすればいいかと悩んでいます。

AppDelegateのapplicationDidBecomeActiveで何か設定すれば良いのでしょうか?

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ホームボタンでバックグラウンドに移行した後、

再度起動(復帰)させると、textfieldに入力していた文字が消え

通常はアプリを終了していなければ消えることは無いと思いますが、どのようなコードを書いているか載せていただくことはできますか?

更新は以下のサイトのようにすればできます。
[iOS] アプリがフォアグラウンドになったタイミングで画面を更新する

回答追記

s

投稿2017/01/15 23:41

編集2017/01/17 14:24
_Kentarou

総合スコア8490

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

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

exampapa

2017/01/16 15:10

_Kentarouさん、アドバイスありがとうございます。 通常は消えることは無いというアドバイスだけでも助かります。 そこでコードのどこかに原因があると考え、コードを記載するために不要なコードをどんどん外していった所、どうすればこの症状が発生するか絞り込む事ができました。 ストーリーボードで以下の画面構成を組んだ時に発生します。 0.Single View Applicationでプロジェクトを作成します 1.Tab Bar Controllerを設置しrootにします 2.これにNavigation ControllerをEmbedしたViewControllerを接続します 3.このViewControllerにText Fieldを設置します 4.この状態で実行し、TextFieldに適当な文字を入力した後、一旦Homeでアプリをバックグランドにした後、再度アイコンをクリックして起動するとTextFieldの文字が消えて入力した文字が見えなくなります コードは何も書かなくても、この構成で再現できました。 このやり方のどこかに間違いがあるのでしょうか?
_Kentarou

2017/01/16 23:55

同じ手順で作ってみましたが、手元では再現しませんでした。 もしかすると、UITextFieldではなくてUITextViewを使用してませんか?
exampapa

2017/01/17 12:26

_Kentarouさん、何度もお手間をおかけして申し訳ございません。 確かにUITextFieldを使っているのですが、再現しないと聞き、もう一度手順を確認してみた所、もう一ヶ所手順がありました。 →UITextFieldのBorder StyleをデフォルトのRound StyleからLine Styleに変更 でした。現象はRound Style以外の場合に発生し、色々検証してみるとVertical AlignmentがCenterから復帰後はTopになってしまうため消えるように見える為のようなのです(縦サイズを大きくするとTopで表示されている)。 コードでcenterを指定しても同様となります。 現象の再現及び解決方法がわかれば助かるのですが・・・
_Kentarou

2017/01/17 14:28

こちらでも再現したので、回答に回避方法を記載しました試してみてください。
exampapa

2017/01/17 23:31

_Kentarouさん、ご回答ありがとうございます。 完璧に改善されました。 質問前に色々調べたのですが見つからず(そもそもここで質問しなければ原因を絞り込めなかった)、 また、改善方法については全く心当たりのないものでした。 的確に回答できる_Kentarouさんのスキルに感服いたします。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問