毎年恒例ですがiOS15対応しました
以下、やったこと
・ナビゲーションバーに色が設定されない
以下を追加する
standardAppearanceは通常のナビバー
scrollEdgeAppearanceはラージタイトルのナビバー
if #available(iOS 15.0, *) { let appearance = UINavigationBarAppearance() appearance.backgroundColor = UIColor.white appearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white] UINavigationBar.appearance().scrollEdgeAppearance = appearance UINavigationBar.appearance().standardAppearance = appearance }
https://zenn.dev/ariiyu/scraps/0e309cc095cd3f
https://re-engines.com/2020/08/17/ios14%E3%82%92%E6%8E%A7%E3%81%88%E3%81%9F%E4%BB%8A%E3%81%93%E3%81%9Duinavigationbarappearance/
・TableViewのSectionヘッダーに余白がある
if #available(iOS 15.0, *) { UITableView.appearance().sectionHeaderTopPadding = 0.0 }
https://stackoverflow.com/questions/68155090/extra-padding-above-table-view-headers-in-ios-15
・TableViewのSectionヘッダーに色を設定する
Sectionヘッダーに色が当たらなくなったので当てる
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section{ UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view; UIColor *backgroundColor = [UIColor colorNamed: @"SectionGray"]; //[UIColor redColor]; view.tintColor = backgroundColor; view.backgroundColor = backgroundColor; header.textLabel.textColor = [UIColor blackColor]; header.contentView.tintColor = backgroundColor; header.contentView.backgroundColor = backgroundColor; }
https://stackoverflow.com/questions/70196865/ios15-uitableview-section-label-font-size-and-color-was-change
https://stackoverflow.com/questions/8742493/what-is-the-default-tableview-section-header-background-color-on-the-iphone
・SPM対応
基本的には移行するだけなんだけど
CrashlyticsのRunスクリプトのパスは変える必要がるので注意
https://firebase.google.com/docs/ios/installation-methods
これで一応動くようになったはず