Skip to content

HIZA-260 【iOS27】Liquid Glass 対応 Fix ESTabBar layout for iOS 26 Liquid… - #1

Merged
taiki-fukuma merged 1 commit into
masterfrom
feature/HIZA-260_fix-ios26-liquid-glass
May 27, 2026
Merged

taiki-fukuma merged 1 commit into
masterfrom
feature/HIZA-260_fix-ios26-liquid-glass

Conversation

@taiki-fukuma

Copy link
Copy Markdown
Contributor

Relatet Tickets

概要

iOS 26 / Liquid Glass 環境において ESTabBarController が正常動作しない問題を修正しました。

従来実装では UIKit 内部実装 (UITabBarButton) に依存していたため、iOS 26 以降でアプリ起動時にクラッシュが発生していました。
また、fix: index out of rangeのPRがありましたが、こちらは画面崩れしまうため、別の不具合があるため採用を見送りました。
本対応では、これらを含めて修正し、UIDesignRequiresCompatibility を削除した状態でも正常動作するようにしています。


修正内容

Sources/ESTabBar.swift

UIKit内部クラス依存の除去

従来:

  • UITabBarButton の class 名に依存
  • UITabBarButton.frame を利用してレイアウト

修正後:

  • UITabBar 内部の UIControl を動的検出
  • ESTabBar 側で手動レイアウト

これにより、iOS 26 の内部構造変更に依存しない実装へ変更。


システム側 TabBar UI の完全非表示化

iOS 26 / Liquid Glass にて、isHidden = true のみでは以下が残るケースがあったため対応。

  • 選択背景
  • glass effect
  • selection indicator
  • UIImageView

再帰的に subviews を辿って非表示化するよう修正。


選択状態同期処理追加

iOS 26 にて UIKit 側 selected 状態のみでは ESTabBarItemContentView の状態が更新されないケースがあったため、

  • select()
  • deselect()

を明示実行する同期処理を追加。


影響範囲

  • Sources/ESTabBar.swift のみ

@taiki-fukuma
taiki-fukuma requested a review from Takezawa May 27, 2026 07:49
@taiki-fukuma taiki-fukuma self-assigned this May 27, 2026

@Takezawa Takezawa left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

問題ないと思いますので、承認します。

@taiki-fukuma
taiki-fukuma merged commit 3ad5532 into master May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants