LoginSignup
0
1

More than 3 years have passed since last update.

【iOS】古いアプリのユニバーサル対応で最初に確認すること【初心者】

Posted at

古いアプリのユニバーサル対応で最初に確認すること

iOSアプリ初心者の私が、iPadで作られたアプリをiPhoneにも対応させようとしたときにちょっとハマった部分がありましたので、備忘録として残しておこうと思います。

まずSafeAreaに対応させる

最初、ここにSafe Areaというのが表示されていない状態でした。あとあとConstraintsを付けるときに絶対必要になりますので、表示させておきます。
image.png
やり方は、File inspectorのInterface Builder DocumentにあるUse Safe Area Layout Guidesにチェックを入れるだけです。
image.png

ナビゲーションバーをコードで表示させている場合

Attributes inspectorのSimulated MetricsにあるTop BarやBottom Barの設定を確認します。私の場合はNavigation Barを使用している画面なのに、ここの設定がInferredになっていました。不透過ナビゲーションバーの場合はOpaque Navigation Barを選択します。Bottomは使用していないのでNoneにしました。
image.png
これはどうして必要だったかというと、ナビゲーションバーの高さがiPadとiPhoneとで異なっているのに、配置されているViewなどがSuperViewからナビゲーションバーの高さ分、固定でマージンを取ったConstraintsになっていたからです。ナビゲーションバーの直下に配置したパーツが、iPhoneで見るとナビゲーションバーに隠れてしまってました。
image.png
Simulated MetricsでOpaque Navigation Barを設定すると、こんな感じにxib上でナビゲーションバーの線が見えるようになります。ここはSafe Area外となるので、ConstraintsをSafe Area基準でつけていけば、ナビゲーションバーと重なることはなくなるというわけです。

以上、知っている人からすればなんてことない当たり前の知識かと思いますが、初心者はハマりましたので同じく初心者の方のお役に立てれば幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1