Upgrade to Pro — share decks privately, control downloads, hide ads and more …

pixivコミックのLiquid Glass対応

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for atomic atomic
April 23, 2026

pixivコミックのLiquid Glass対応

Avatar for atomic

atomic

April 23, 2026

More Decks by atomic

Other Decks in Programming

Transcript

  1. Liquid Glass対応への基本スタンス • 致命的なレイアウト崩れの修正を優先 ◦ オプトアウトを解除して壊れた箇所の修正がメイン ◦ カスタムビューに Liquid Glass

    effect をつけることはしない ◦ Liquid Glass のために画面構成を変えたりはしない • コミックに最適なデザインの見直しは行った ◦ ナビゲーションバーからブランドカラーが無くなるので、それに合わせたデザインにした 8
  2. スケジュール決め • それぞれでの工数見積もりの結果、1人50営業日(約2.5ヶ月)かかるという結論に なった ◦ iOSエンジニア2名で開発をしている ◦ pixivコミックは 2012年6月6日 から続けているサービスで、画面数も80近くあり規模が大きい

    • 2026年4月30日リリースを目標に決まった ◦ 差し込みのタスクを考慮して余裕を持ったスケジュールにしていたが、実際にはほとんど差し込みは入ら なかったのに、ほぼ目標通りのスケジュールになったため見積もりの1.5倍ほどの時間がかかった ◦ ナビゲーションバーの色を無くす、ビューアとその他画面で色の傾向が逆、後述するレアケースな問題の 対応により想定より時間がかかった 11
  3. アイコンが動的なテーマ切り替えに追従しない • 解決策 ◦ 1. コード指定をせずStoryBoardで設定する ◦ 2. .withTintColor(_ color:

    )で色を指定する ▪ アイコンは切り替わらないが、指定したカラーがダーク・ライトで変わるなら正しく動く 19
  4. ナビゲーションバーのブラーがかからない • 原因 ◦ UIScrollViewを継承していない場合、ブラーがかからない ◦ ただのUIViewをconstantやtransformで動かしているだけ ◦ 例えば、TableView +

    Headerの画面構成で Headerは TableViewの方のスクロールに合わせて constant を動かす場合 • 解決策 ◦ 1. 画面全体をTableViewやCollectionViewで書き換える ◦ 2. constantで動かすUIViewをUIScrollViewにする ▪ 全体をScrollViewにするのが難しい場合 ▪ ただブラーが遅れてくる問題がある。可能なら1.で修正したい 21
  5. アクセサリビューがキーボードに食い込む(SwiftUI) • 注意点 ◦ .toolbarのままpaddingをつけない ▪ ボタン自体が伸びてしまうため ◦ .buttonBorderShape(.circle)をつける ▪

    楕円になってしまうため ◦ .safeAreaBarの中でbuttonStyle(.glassProminent)のボタンを使う場合、.foregroundStyleをつける ▪ ダークモードにしても画像の色が変わらないため 26