性懲りもなく、失敗を失敗を繰り返して結果的にはノウハウがいっぱい溜まってきていますが、今日も、また、失敗して得しちゃったよ。
今日は、横画面のアプリの開発をするときに起きた出来事。口で言うとわかりにくいんだけど、 UITextFiled をクリックしたら出るKeyboard。不運にも、このKeyboardが UITextFiled を隠してしまうという現象に出くわしました。
で、ViewControllerに内包されているViewのyをずらせば解決と思い、うりゃ~っと動かすと、何故か、横にずれる。lol omg!
こんな感じが
こんな感じに
yは縦軸なんだよー。横にずれるってことは縦画面のままかよ〜、といいながら設定を見なおしてみましょう。
まずは、プロジェクトの設定、info.plist
続いて Storyboard上の ViewController
どっちも横画面になってるよ〜〜
で、色々調べました。AppDelegateのrootViewControllerとか、shouldAutorotateとか、supportedInterfaceOrientations、CGAffineTransformMakeRotationとか、何をやってもうまくいきません。困ったもんだ。困ったところで、一休みして、六甲のおいしい水をがぶ飲みしていると、ふとひらめいた。
これ、解決できないかも? というのも、StoryBoardでViewController直下のViewの縦横のサイズを確認すると、文字がグレーになってて、readOnly状態。いじるなよと Timothy Donald Cook に言われている気がした。
なので、Viewをひとつ噛ませて解決した。こんな感じ。
使用前
使用後
self.view の SubView に superBaseView ってのおいてやった。このsuperBaseViewのframeのWidthとHeightは逆になってません。なので、こいつのyをずらせば UITextFiled が縦に動くはず。
どうだ。
できた。みごと、UITextFiledがステータバーの下にまで移動しました。完璧!! ということで、はじめからUIViewを1枚仕込むようにしましょう。みんなも気をつけてね。
おわり。
コメント