Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【公開用】What’s update in SwiftUI for iOS 14

【公開用】What’s update in SwiftUI for iOS 14

CA.swift #12 WWDC20報告会
https://cyberagent.connpass.com/event/177267/
で発表した資料です。
Apple Beta Software のスクリーンショットは差し替えています。

サンプルコード
https://github.com/SatoTakeshiX/swiftui-ios14-updates

SwiftUI実践入門
https://booth.pm/ja/items/1579464

SwiftUI開発レシピ
https://booth.pm/ja/items/1920812

SwiftUI life-cycle iOS14 Where to put AppDelegate code?
https://stackoverflow.com/questions/62538110/swiftui-life-cycle-ios14-where-to-put-appdelegate-code

【WWDC20】What’s new in SwiftUI
https://developer.apple.com/wwdc20/10041

【WWDC20】App essentials in SwiftUI
https://developer.apple.com/wwdc20/10037

【WWDC20】Introduction to SwiftUI
https://developer.apple.com/videos/play/wwdc2020/10119/

【WWDC20】Stacks, Grids, and Outlines in SwiftUI
https://developer.apple.com/videos/play/wwdc2020/10031/

【WWDC20】Design for iPad
https://developer.apple.com/videos/play/wwdc2020/10206/

App Structure and Behavior
https://developer.apple.com/documentation/swiftui/windowgroup

OutlineGroup
https://developer.apple.com/documentation/swiftui/outlinegroup

Sato Takeshi

July 01, 2020
Tweet

More Decks by Sato Takeshi

Other Decks in Technology

Transcript

  1. What’s update in SwiftUI for iOS 14 2020 年 7

    月 1 日 佐藤タケシ CA.swift #12 WWDC20報告会
  2. Who am I • Name • 佐藤タケシ(さとうたけし) • Company •

    Merpay, Inc.(2019/01 ~) • Role • Software Engineer (iOS) • Account • Twitter: @hatakenokakashi • Facebook: 佐藤剛士 • GitHub: SatoTakeshiX
  3. 目次 バグ修正 • TabBarと NavigationViewの Viewスタック問題 • NavigationViewの iPad縦向きでの Padding問題

    ◦ Sidebars in iPad App, Scene, WindowGroup ついにSwiftUIのみでアプリ が作れるように! • App • Scene • WindowGroup New UI Components • LazyVStack,LazyHSt ack • LazyVGrid,LazyHGri d • OutlineGroup
  4. Sidebars in iPad • iOS 14からiPadのRegularサイズではTabBarではなくSidebarが推奨される • iOS 13までは2カラムのSidebarだったが、iOS 14からは3カラムまで表示できるよう

    になった • compactサイズ(SplitView表示やiPhoneでの表示)ではTab barを使うこと • SidebarとTab barを組み合わせてはいけない • サイドバーの項目はView階層のトップのナビゲーションをする • ユーザーにとって重要なコンテンツを表示 • 編集モードに対応させる • ドロップ&ドラッグに対応させる
  5. App by 100% pure SwiftUI Scene ユーザーに表示する View階層のコンテナ。 UIWindowSceneDelegateのSwiftUI版。 プラットフォームによって動作に違いがある。

    iPadOS, macOSでは同じアプリ複数のウィンドウを作 成、削除が可能。 iOSではSceneが画面全体をおおうようになる。
  6. アプリがバックグラウンドにいるかを確認する • EnvironmentのProperty Wrapperの scenePhaseキーパスを利用する • onChangeメソッドで新しい scenePhaseを取得する • 実際動かしてみたが、

    UIApplication.Stateと同じものかは 未確認。アプリ起動後ホームボタンを 押してもbackgroundイベントが呼ば れなかった。
  7. 参考資料 • SwiftUI life-cycle iOS14 Where to put AppDelegate code?

    • 【WWDC20】What’s new in SwiftUI • 【WWDC20】App essentials in SwiftUI • 【WWDC20】Introduction to SwiftUI • 【WWDC20】Stacks, Grids, and Outlines in SwiftUI • 【WWDC20】Design for iPad • App Structure and Behavior • OutlineGroup