Xcode 13 で、iOS 15 に対応する際に必要になった変更をまとめる。
最近のコードの例は、殆ど Swift なので、Objective-C のコード例が役に立つ人もいると思う。
1. ナビゲーションバー・ツールバーの色が変わる
scrollEdgeAppearance を指定する。
ナビゲーションバー
if (@available(iOS 15.0, *)) { UINavigationBarAppearance* navBarAppearance = [self.navigationController.navigationBar standardAppearance]; [navBarAppearance configureWithOpaqueBackground]; // 不透明 navBarAppearance.titleTextAttributes = @{NSForegroundColorAttributeName: (文字の色)}; navBarAppearance.largeTitleTextAttributes = @{NSForegroundColorAttributeName: (文字の色)}; navBarAppearance.backgroundColor = (背景の色); self.navigationController.navigationBar.standardAppearance = navBarAppearance; self.navigationController.navigationBar.scrollEdgeAppearance = navBarAppearance; }
ツールバー
if (@available(iOS 15.0, *)) { UIToolbarAppearance* appearance = [self.navigationController.toolbar standardAppearance]; appearance.backgroundColor = (背景の色); self.navigationController.toolbar.standardAppearance = appearance; self.navigationController.toolbar.scrollEdgeAppearance = appearance; }
2. テーブルビューのセクションヘッダの padding
sectionHeaderTopPadding を0にする。
if (@available(iOS 15.0, *)) { self.tableView.sectionHeaderTopPadding = 0; }