Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
pixivコミックのLiquid Glass対応
Search
atomic
April 23, 2026
Programming
43
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
pixivコミックのLiquid Glass対応
atomic
April 23, 2026
More Decks by atomic
See All by atomic
pixivコミックでのXcode16対応
atomic928
0
180
新卒AndroidエンジニアがOJTで学んだこと
atomic928
0
180
Other Decks in Programming
See All in Programming
Simple Storage Service(S3) is not simple
iwatsukayura
0
120
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
160
setup-vp GitLab対応の裏側
naokihaba
0
140
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
250
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
290
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
420
mrbgem 三角測量 開発
ogom
0
170
速習iPhone Duo対応
yuukiw00w
2
920
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
250
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
AWSに止められる覚悟してますか?
morizo_1984
2
490
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Building an army of robots
kneath
307
47k
The untapped power of vector embeddings
frankvandijk
2
1.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Technical Leadership for Architectural Decision Making
baasie
3
590
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
580
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Testing 201, or: Great Expectations
jmmastey
46
8.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
HDC tutorial
michielstock
2
930
Transcript
pixivコミックのLiquid Glass対応 2026/04/23 @atomic
atomic • 2024年4月Androidエンジニアとしてピクシブに新卒入社 • 同年7月からiOSに転向 • 現在 pixivコミックSection iOSエンジニア 2
3 Before After Liquid Glass 対応版 リリースしました 🎉
アジェンダ • 全画面に影響するデザイン変更をどう進めていったのか? • 限定的なケースでしか発生しないであろう問題の対応集 4
どう進めていったのか? 5
Liquid Glass対応の期限 • Xcode 26では無効にするオプションが用意されている • Xcode 27から強制適用が想定されるため、それまでに対応が必要 ◦ Xcode
27のリリースが2026年9月ごろ ◦ Xcode 27へのアップデート期限が2027年4月ごろ 6
スケジュール 7 8月末 iOS陣でLiquid Glass対応をどう始めるか相談 PdM・デザイナー向けに情報をまとめ共有 9, 10月 工数の洗い出し・リリーススケジュールの決定 11月
~ 3月 実装 3月末 Liquid Glass対応版リリース 🎉
Liquid Glass対応への基本スタンス • 致命的なレイアウト崩れの修正を優先 ◦ オプトアウトを解除して壊れた箇所の修正がメイン ◦ カスタムビューに Liquid Glass
effect をつけることはしない ◦ Liquid Glass のために画面構成を変えたりはしない • コミックに最適なデザインの見直しは行った ◦ ナビゲーションバーからブランドカラーが無くなるので、それに合わせたデザインにした 8
タスク洗い出し • Liquid Glassを適用した状態のアプリをチーム内で配信し、PdM・デザイナー含め て触ってもらい対応が必要な箇所を洗い出した • 気になる箇所を書き出し、それぞれ対応するか判断し工数を見積もった 9
タスク洗い出し • ナビゲーションバー・タブバーの対応については各画面の構成をパターン化し、そ れぞれで工数を見積った 10
スケジュール決め • それぞれでの工数見積もりの結果、1人50営業日(約2.5ヶ月)かかるという結論に なった ◦ iOSエンジニア2名で開発をしている ◦ pixivコミックは 2012年6月6日 から続けているサービスで、画面数も80近くあり規模が大きい
• 2026年4月30日リリースを目標に決まった ◦ 差し込みのタスクを考慮して余裕を持ったスケジュールにしていたが、実際にはほとんど差し込みは入ら なかったのに、ほぼ目標通りのスケジュールになったため見積もりの1.5倍ほどの時間がかかった ◦ ナビゲーションバーの色を無くす、ビューアとその他画面で色の傾向が逆、後述するレアケースな問題の 対応により想定より時間がかかった 11
限定的なケースでしか発生しない問題の対応集 12
注意 • 紹介する事例は、特定の画面や実装に依存する「極めて限定的なレアケー ス」が中心です • そのため、根本解決ではなく「暫定的なワークアラウンド」としての対応が 多く含まれます • 情報の少ない課題に対し、知見を共有することで誰かの参考になることを目 的としています
13
iPadでタブバーが機能しなくなる 14 ❌ ✅
iPadでタブバーが機能しなくなる 前提 • iPadOS18でタブバーの位置が変わってしまうため、従来通り下に配置するためタ ブの要素をコピーしたタブバーを使っていた • iPadのときは既存のタブバーは非表示にし、アイテムや高さをコピーしたタブバー をaddSubViewする形 15
iPadでタブバーが機能しなくなる • 原因 ◦ selectedItemの同期をviewWillSubviewsでしか行なっていなかった • 解決策 ◦ UITabBarControllerDelegateでもselectedItemの同期をしてあげる必要があった ◦
元々はviewWillSubviewsで記述するだけで、勝手に機能してくれていたがiPadOS26からは機能しなく なった 16
アイコンが動的なテーマ切り替えに追従しない 17 ❌ ✅
• 原因 ◦ Image.xcassetsでライト・ダークテーマ用のそれぞれのアイコンを設定している ◦ 通常は動的にどちらのアイコンを使うかを選んでくれるが、TabBarItemの画像をStoryboardで設定せず にコードで指定していた場合、動的切り替えが機能しない アイコンが動的なテーマ切り替えに追従しない 18
アイコンが動的なテーマ切り替えに追従しない • 解決策 ◦ 1. コード指定をせずStoryBoardで設定する ◦ 2. .withTintColor(_ color:
)で色を指定する ▪ アイコンは切り替わらないが、指定したカラーがダーク・ライトで変わるなら正しく動く 19
ナビゲーションバーのブラーがかからない 20 ❌ ✅
ナビゲーションバーのブラーがかからない • 原因 ◦ UIScrollViewを継承していない場合、ブラーがかからない ◦ ただのUIViewをconstantやtransformで動かしているだけ ◦ 例えば、TableView +
Headerの画面構成で Headerは TableViewの方のスクロールに合わせて constant を動かす場合 • 解決策 ◦ 1. 画面全体をTableViewやCollectionViewで書き換える ◦ 2. constantで動かすUIViewをUIScrollViewにする ▪ 全体をScrollViewにするのが難しい場合 ▪ ただブラーが遅れてくる問題がある。可能なら1.で修正したい 21
アクセサリビューがキーボードに食い込む(UIKit) 22 ❌ ✅
アクセサリビューがキーボードに食い込む(UIKit) • 原因 ◦ inputAccessoryViewにUIToolbarを直接渡していた • 解決策 ◦ 上方向に少し浮かせる拡張を作る 23
アクセサリビューがキーボードに食い込む(SwiftUI) 24 ❌ ✅
アクセサリビューがキーボードに食い込む(SwiftUI) • 原因 ◦ .toolbarにToolBarItemGroup(placement: .keyboard)で配置していた • 解決策 ◦ .safeAreaBar(edge:
bottom)にして中身のButtonに.padding(.bottom, )をつける 25 ❌ ✅
アクセサリビューがキーボードに食い込む(SwiftUI) • 注意点 ◦ .toolbarのままpaddingをつけない ▪ ボタン自体が伸びてしまうため ◦ .buttonBorderShape(.circle)をつける ▪
楕円になってしまうため ◦ .safeAreaBarの中でbuttonStyle(.glassProminent)のボタンを使う場合、.foregroundStyleをつける ▪ ダークモードにしても画像の色が変わらないため 26
ScrollViewのsubviewが透けてしまう問題 27 ❌ ✅
ScrollViewのsubviewが透けてしまう問題 • 原因 ◦ タブバー付近でsubViewが透けてしまい、ScrollViewが見えるが、 ScrollViewが透明でさらに後ろのViewまで見えていた • 画面構成 ◦ ScrollViewは親viewの全体に制約がついている
◦ ScrollViewのbackgroundColorは透明でsubViewがない部分は 親Viewのコンテンツが見えている 28
ScrollViewのsubviewが透けてしまう問題 • 解決策 ◦ 1. ScrollViewの背景をsubviewの背景色にする ▪ 親Viewを見せる必要がない場合 ◦ 2.
subviewの後ろに背景色を持ったUIViewを配置する ▪ 親Viewを見せる必要がある場合 29
pixivコミックのLiquid Glass対応 2026/04/23 @atomic