将棋プログラミング

(将棋に関する)ソフトウェア開発のノウハウ等。

Objective-C での iOS 15 対応

Xcode 13 で、iOS 15 に対応する際に必要になった変更をまとめる。
最近のコードの例は、殆ど Swift なので、Objective-C のコード例が役に立つ人もいると思う。

1. ナビゲーションバー・ツールバーの色が変わる

scrollEdgeAppearance を指定する。

developer.apple.com

ナビゲーションバー

        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にする。

developer.apple.com

    if (@available(iOS 15.0, *)) {
        self.tableView.sectionHeaderTopPadding = 0;
    } 

3. iPadツールバーの高さ

機種によると思われるが、iPadツールバーの高さが高くなった。

参考:

shtnkgm.com