2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOS13のアップデート対応してみた

2
Posted at

久々のQiita投稿です。最近はもっぱらブログに投稿していたので、おざなりになってました。ブログもおヒマなら覗いてみて下さい。
くま's Tech系Blog

最近はiOS13対応をしているので、まとめてメモしたいと思います。

①モーダル表示の変更

最初に一番驚いたのがこれです。

かなり中途半端になっていて、下の画面が少しみえます。

しかも、前面に出ている画面を下げると下の画面が表示されます。これだと、遷移時に更新とかするのに大変です。

Appleはこういうモーダル構成に今後していきたいということですかね?

20200113141248.png

これに関しては、UIModalPresentationStyleにautoが追加され、デフォルトのモードがautoとなっていることで発生しています。(今まではfullScreenがデフォルトでした)

なので、fullScreenにすれば問題ないはずです。

viewController.modalPresentationStyle = .fullScreen

もしくは、stroryboardで設定している場合は変更すればいいはずです。

20200113142003.png

②Segemetの変更

iOS13ではUISegmentedControlの見た目が変更されます。

今まではtintColorを使っていましたが、tintColorに依存しなくなったので、色を設定していてもデフォルトに戻ります。

これは、selectedSegmentTintColorを使うことで変更できます。

文字の色を変更する場合は下記のようにしないといけません。

// 選択されている場合の文字の色
 setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.white], for: .selected)
// 選択されていない場合
 setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.red], for: .normal)

また、選択されていない場合の背景色がグレーになっているかと思いますが、これは背景が単色のimageを設定すれば解消されます。(文字の色と合わない場合があるので)

// 背景に単色画像を設定
setBackgroundImage(UIColor.clear.toImage(), for: .normal, barMetrics: .default)
setBackgroundImage(UIColor.red.toImage(), for: .selected, barMetrics: .default)

この場合はtintColorを設定していても .normal.selected両方の設定がないと反映されません。(むしろtintColorはいらない気がします)

③FontのBoldが変更

iOS13でBoldが以前より少し太くなっています。

これによって、ラベルがはみ出したり、全て表示されないといことがあるので、幅を広げたりする必要性がありそうです。(太字を直せるか微妙なところだし、そもそも新しい太字で進めるべきな気がしてきた...)

今のところこんな感じですが、まだまだあります。(ダークモードとか)
そこまで大幅な修正はあまりなさそうですが、2020年4月までにXcode11で開発しないといけないため、そろそろ開発し始めないといけなさそうですね。

参照

iOS13対応をまとめてみた
iOS 13における必須対応について
iOS13でUISegmentedControlの見た目をカスタマイズする
ios13から日本語フォントのboldがより太くなるケース

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?