Save 37% off PRO during our Black Friday Sale! »

SwiftUIで出てきたGeometryReaderって何?

 SwiftUIで出てきたGeometryReaderって何?

7a0bc9670ff654b04d4361a9afd1bba8?s=128

h.crane

July 31, 2019
Tweet

Transcript

  1. SwiftUIで出てきた GeometryReaderって何? Hiromu Tsuruta

  2. About me 〈Company〉 - every, inc. / DELISH KITCHEN 〈Role〉

    - iOS Developer 〈Account〉 - Twitter: @hcrane14 - Qiita: H_Crane
  3. SwiftUIで追加されたもの

  4. Views and Layouts 1.Views and Controls Text, TextField, SecureField, Font,

    Image, Button, NavigationLink, MenuButton, EditButton, PasteButton, Toggle, Picker, DatePicker, Slider, Stepper, SegmentedControl
  5. Views and Layouts 1.Views and Controls 2.View Layout and Presentation

    Text, TextField, SecureField, Font, Image, Button, NavigationLink, MenuButton, EditButton, PasteButton, Toggle, Picker, DatePicker, Slider, Stepper, SegmentedControl HStack, VStack, ZStack, List, ForEach, ScrollView, Form, Group, GroupBox, Section,Spacer, Divider, NavigationView, TappedView, HSplitView, VSplitView, Alert, ActionSheet, EmptyView, EquatableView, AnyView, TuppleView
  6. Views and Layouts 1.Views and Controls 2.View Layout and Presentation

    Text, TextField, SecureField, Font, Image, Button, NavigationLink, MenuButton, EditButton, PasteButton, Toggle, Picker, DatePicker, Slider, Stepper, SegmentedControl HStack, VStack, ZStack, List, ForEach, ScrollView, Form, Group, GroupBox, Section,Spacer, Divider, NavigationView, TappedView, HSplitView, VSplitView, Alert, ActionSheet, EmptyView, EquatableView, AnyView, TuppleView → 名前から何となく想像がつく  ➡ UIKitにも似たようなのあったな
  7. GeometryReader

  8. What is GeometryReader ? 言葉の意味から考えてみる.... ① Geometry = 幾何学(図形や空間の分野) ②

    Reader=読み手
  9. What is GeometryReader ? 言葉の意味から考えてみる.... ① Geometry = 幾何学(図形や空間の分野) ②

    Reader=読み手 つまり... GeometryReader = 図形や空間の読み手
  10. About GeometryReader A container view that defines its content as

    a function of its own size and coordinate space. Overview:This view returns a flexible preferred size to its parent layout. @frozen struct GeometryReader<Content> where Content : View
  11. About GeometryReader A container view that defines its content as

    a function of its own size and coordinate space. Overview:This view returns a flexible preferred size to its parent layout. コンテンツ自身のサイズと座標空間を定義している 概要:適切なサイズを親のレイアウトに返す @frozen struct GeometryReader<Content> where Content : View
  12. 具体例を見てみよう!

  13. Example 1. Size *Quote of screenshot is Sketch *Quote of

    screenshot is Qiita
  14. Example 1. Size *Quote of screenshot is Sketch *Quote of

    screenshot is Qiita geometry.size.height geometry.size.width
  15. Example 2. Coordinate geometry.size.height geometry.size.width *Quote of screenshot is Qiita

  16. Example 2. Coordinate geometry.size.height geometry.size.width *Quote of screenshot is Qiita

    ① geometry.frame(in: .global) ② geometry.frame(in: .local) *Quote of screenshot is Qiita ① ② UIView / frame UIView / bounds
  17. Example 3. Animation *Quote of screenshot is Sketch *Quote of

    screenshot is Qiita
  18. Example 3. Animation *Quote of screenshot is Sketch *Quote of

    screenshot is Qiita 引用: チュートリアルから一歩踏み出したSwiftUIのCustom Viewの作り方ーその 1https://qiita.com/takaf51/items/a67db8bbc42a4c82b1f0 ex
  19. Example 4. Scroll Offset - GeometryReaderを入れ子にして使用 - 現状ScrollViewのoffsetを取得できないがそ れを可能にしている ※第3者がYoutubeに上げたものを使用しており、当人とは関係ありません。

  20. To end my presentation GeometryReaderを使うと - 親に対して座標と大きさを取得できる - 画面をリッチにできる

  21. To end my presentation GeometryReaderを使うと - 親に対して座標と大きさを取得できる - 画面をリッチにできる ➡

    UIKitでは対応していたものが、なくなっている?ものあるので、 それを補う意味でも、GeometryReaderを使って行くことになりそ う。
  22. Thank you for listening