何故だかよくわかっていない不可思議なエラー(勉強不足なだけかもw)が発生したので備忘録的に記録。
NavigationController にて下位のコントローラーへpushしたとき、下位コントローラーに配置したUITextFieldに文字を入力したときの挙動がおかしくなった。
具体的には文字を入力すると、1文字打つごとに正しい位置に表示されたり、UITextFieldのFrame.Origin.yよりも少し下(UITextFieldから完全に外れた状態)の方に表示されたりした。
コード的には何も問題がないと思っていたので、正常に稼働している他のコントローラーと比較して、一つずつ照らし合わせをした。
その結果、下記の記述を加えることで元に戻った。
textField.borderStyle =UITextBorderStyleRoundedRect;
問題なのは、borderStyle
これをUITextBorderStyleBezelやUITextBorderStyleLineにすると位置ずれが発生する。
結局のところ、何故UITextBorderStyleRoundedRectじゃないと正しく入力できないのかわかっていないが、一応対応できたものとする。
※同一アプリ内にて、他のコントローラーにて同様に下位コントローラーにUITextFieldを配置しているものがあるが、それについては何も問題が起きなかった(UITextBorderStyleBezelやUITextBorderStyleLineに設定しても位置ずれは起きなかった)
NavigationControlelrの何かが悪さしていると思われるが特定できておらずw
NavigationController にて下位のコントローラーへpushしたとき、下位コントローラーに配置したUITextFieldに文字を入力したときの挙動がおかしくなった。
具体的には文字を入力すると、1文字打つごとに正しい位置に表示されたり、UITextFieldのFrame.Origin.yよりも少し下(UITextFieldから完全に外れた状態)の方に表示されたりした。
コード的には何も問題がないと思っていたので、正常に稼働している他のコントローラーと比較して、一つずつ照らし合わせをした。
その結果、下記の記述を加えることで元に戻った。
textField.borderStyle =UITextBorderStyleRoundedRect;
問題なのは、borderStyle
これをUITextBorderStyleBezelやUITextBorderStyleLineにすると位置ずれが発生する。
結局のところ、何故UITextBorderStyleRoundedRectじゃないと正しく入力できないのかわかっていないが、一応対応できたものとする。
※同一アプリ内にて、他のコントローラーにて同様に下位コントローラーにUITextFieldを配置しているものがあるが、それについては何も問題が起きなかった(UITextBorderStyleBezelやUITextBorderStyleLineに設定しても位置ずれは起きなかった)
NavigationControlelrの何かが悪さしていると思われるが特定できておらずw