Slide 1

Slide 1 text

(iOS13ͷ)UIBarButtonItem Ґஔௐ੔͋Δ͋Δ Ͳ΋Μ/2019/10/23 1

Slide 2

Slide 2 text

Ͳ΋Μ EPNPOS wJ04͸೥͙Β͍΍ͬͯ·͢ wϚϯΨ޷͖Ͱ͢ ɹ࠷ۙ͸͔Β͘ΓαʔΧεಡΈ·ͨ͠ 2

Slide 3

Slide 3 text

(iOS13ͷ) UIBarButtonItem Ґஔௐ੔͋Δ͋Δ 3

Slide 4

Slide 4 text

(iOS13Ͱ)UIBarButtonItemͷ ҐஔΛ(OSඪ४ΑΓ)֎ଆʹ͍ͨ͠ 4 σβΠφʔ ͬͯݴΘΕͨΓ͠·͢ΑͶ

Slide 5

Slide 5 text

5 6pt (OSඪ४͸8pt or 16pt)

Slide 6

Slide 6 text

ͳͷͰࠓ೔͸iOS13ରԠ΋ߟྀͨ͠ UIBarButtonItemͷ഑ஔʹ͍ͭͯ ൃද͠·͢ 6

Slide 7

Slide 7 text

UINavigationBarपΓͷ֊૚ͷઆ໌ 7

Slide 8

Slide 8 text

8

Slide 9

Slide 9 text

9 • UINavigationBar
 ͷ্ʹ௚઀ UIBarButtonItem
 ͕ઃஔ͞Ε͍ͯΔܗ • λοϓྖҬ΍Ґஔௐ ੔΋؆୯

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11 • UINavigationBar
 ͷ্ʹUIStackView ͕ஔ͔Εͦͷதʹ UIBarButtonItem
 ͕ઃஔ͞Ε͍ͯΔܗ • λοϓྖҬ΍Ґஔௐ ੔Λ͢Δࡍʹ UIStackView͕अຐ

Slide 12

Slide 12 text

12

Slide 13

Slide 13 text

13 • UINavigationBar
 ͷ্ʹUIStackView ͕ஔ͔Εͦͷதʹ UIBarButtonItem
 ͕ઃஔ͞Ε͍ͯΔܗ • ͞ΒʹUIStackView ͕Ṗͷprivate classʹ ͳ͍ͬͯΔ….

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

֊૚ΛݟͨΒΘ͔ΔͷͰ͕͢ɺ iOS11͔ΒiOS13ʹ͔͚ͯ͸جຊత ʹมԽ͸͋Γ·ͤΜɻ 15 ͨͩ͠…

Slide 16

Slide 16 text

Client error attempting to change layout margins of a private view 16 ϓϥΠϕʔτϏϡʔͷϨΠΞ΢τϚʔδϯΛมߋ͠ Α͏ͱ͢ΔΫϥΠΞϯτΤϥʔ

Slide 17

Slide 17 text

Client error attempting to change layout margins of a private viewͷઆ໌ 17

Slide 18

Slide 18 text

18 loop: for view in subviews { for stack in view.subviews where stack is UIStackView { stack.superview?.layoutMargins = .zero break loop } } ্هͷΑ͏ʹSubViewΛճͯ͠layoutMarginsΛௐ੔ͨ͠ΒౖΒΕ·͢

Slide 19

Slide 19 text

ͳͷͰɺiOS13Ҏ߱͸NavigationBar ্ͷUIStackViewʹରͯ͠ૢ࡞Λ ߦ͏͜ͱ͕Ͱ͖ͳ͘ͳΓ·ͨ͠ 19

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

iOS13Ҏ߱ͷରԠํ๏ 21

Slide 22

Slide 22 text

͖͞ʹݴ͏ͱ…. iOS12·Ͱ͸private viewΛૢ࡞Ͱ͖ͨͷͰɺ ֎ଆ0pt·ͰλοϓൣғΛ૿΍ͤ·͕ͨ͠ɺ iOS13Ҏ߱͸ແཧͰͨ͠ 22

Slide 23

Slide 23 text

23 UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)

Slide 24

Slide 24 text

StackViewͷ࠷ॳͷཁૉΛ UIBarButtonItem(customView: view) Ͱ͸ͳ͘ UIBarButtonItem(barButtonSystemIte m: .fixedSpace, target: nil, action: nil) ʹ͢Δͱ֎ଆ͔ΒͷҐஔ͕8ptʹͳΔ 24

Slide 25

Slide 25 text

25 8pt

Slide 26

Slide 26 text

ͪͳΈʹStackViewͷ࠷ॳͷཁૉΛ UIBarButtonItem(customView: view) ʹ͢Δͱ֎ଆ͔ΒͷҐஔ͕16ptʹͳΔ (customViewҎ֎ͷཁૉΛ࠷ॳʹೖΕΕ͹8ptʹͳΔΒ͍͠) 26

Slide 27

Slide 27 text

27 class HogeViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.navigationItem.leftBarleftButtonItems = [ UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil), UIBarButtonItem(customView: view) ] } }

Slide 28

Slide 28 text

• iOS13Ҏ߱͸8ptΑΓ΋֎ଆʹButtonΛ഑ஔ͢Δͷ͸ແཧ • UIBarButtonItem(customView:)Λී௨ʹೖΕΔͱ֎ଆ͔Β16ptͷ ҐஔʹͳΔ • UIBarButtonItem(customView:)Ҏ֎ͷ UIBarButtonItem(barButtonSystemItem:)౳Λ࠷ॳʹೖΕΔͱ8ptʹ ͳΔ • ΋͸΍ΊΜͲ͍͘͞ͷͰUINavigationBarΛ࢖Θͳ͍΄͏͕ૣ͍͔ ΋ 28 ·ͱΊ

Slide 29

Slide 29 text

iOS13Ͱ΋NavigationBarButtonͷҐஔΛௐ੔͍ͨ͠ - Qiita https://qiita.com/rd0501/items/8e8254a23d87a9b2fea2 29 ࢀߟ

Slide 30

Slide 30 text

͓ΘΓ 30