Swift

Swift - Navigator Push Present

2021. 12. 7. 17:30
๋ชฉ์ฐจ
  1. ๐Ÿ“Œ ๋ชฉ์ฐจ
  2. ๐Ÿ“Œ ์„œ๋ก 
  3. ๐Ÿ“Œ push
  4. ์Šคํ† ๋ฆฌ ๋ณด๋“œ
  5. ์ฝ”๋“œ
  6. ๐Ÿ“Œ present
  7. ์Šคํ† ๋ฆฌ๋ณด๋“œ
  8. ์ฝ”๋“œ
  9. ๐Ÿ“Œ Back
  10. push ์—์„œ์˜ back
  11. present ์—์„œ์˜ back
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ชฉ์ฐจ

  • ์„œ๋ก 
  • push
  • present
  • back

๐Ÿ“Œ ์„œ๋ก 

์˜ค๋Š˜์€ swift์—์„œ์˜ ํ™”๋ฉด์ „ํ™˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ push์™€ present๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ push

push๋Š” ํ™”๋ฉด์ด ์Œ“์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ navigation์˜์—ญ์— back์ด๋ผ๋Š” ๋ฒ„ํŠผ์ด ์ƒ๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ ๋ณด๋“œ

์ผ๋‹จ ์Šคํ† ๋ฆฌ๋ณด๋“œ์—์„œ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณผ๊นŒ์š”?

๋จผ์ € button์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด์ค€๋’ค ์˜ค๋ฅธ์ชฝ ํด๋ฆญ์œผ๋กœ ์›ํ•˜๋Š” view์˜ ์ „ํ™˜ ๋ถ€๋ถ„ ๊นŒ์ง€ ๋“œ๋ ˆ๊ทธ๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ show๋ผ๋Š” ์˜์—ญ์„ ์„ ํƒ์„ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์•„๋ž˜์˜ ํ™”๋ฉด๊ณผ ๊ฐ™์ด ์ด๋Ÿฐ ์•„์ด์ฝ˜์ด ์ƒ๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ

๊ทธ๋Ÿผ ์ฝ”๋“œ๋กœ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”?

@IBAction func tabCodePushButton(_ sender: UIButton) {
        guard let viewController = self.storyboard?.instantiateViewController(withIdentifier: "CodePushViewController") else { return }
        self.navigationController?.pushViewController(viewController, animated: true)
    }

navigatorController์—์„œ pushViewController๋ฅผ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ present

present๋Š” ํ™”๋ฉด์„ ๋ฎ๋Š” ํ˜•ํƒœ๋กœ ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ back ๋ฒ„ํŠผ์€ push์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ƒ์„ฑ์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ๋ณด๋“œ

push์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋“œ๋ ˆ๊ทธ๋ฅผ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ presentModally๋ฅผ ์„ ํƒํ•ด์ฃผ๋ฉด ์ด๋Ÿฐ ์•„์ด์ฝ˜์ด ์—ฐ๊ฒฐ์ด ๋ฉ๋‹ˆ๋‹ค.

์ด๋–„ Storyboard์˜ Segue์˜ Presentation์„ Full Screen ์œผ๋กœ ํ‘œ์‹œ๋ฅผ ํ•ด์ฃผ๋ฉด ํ’€ ์Šคํฌ๋ฆฐ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ

์ฝ”๋“œ๋กœ๋Š” ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

@IBAction func tabCodePresentButton(_ sender: UIButton) {
        guard let viewController = self.storyboard?.instantiateViewController(withIdentifier: "CodePresentViewController") else { return }
        viewController.modalPresentationStyle = .fullScreen
        self.present(viewController, animated: true, completion: nil)
    }

์ฒ˜์Œ์—๋Š” ํ’€์Šคํฌ๋ฆฐ์ด ์•„๋‹ˆ๊ฒŒ ๋ ํ…๋ฐ ์ด๊ฒƒ์€ modalPresentationStyle์„ ๋ณ€๊ฒฝ์„ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ Back

์ž ๊ทธ๋Ÿผ ์ด์ œ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ธฐ๋Šฅ์„ ์•Œ์•„์•ผ๊ฒ ์ฃ ?

push ์—์„œ์˜ back

@IBAction func tabBackButton(_ sender: UIButton) {
//        self.navigationController?.popViewController(animated: true) // ๋ฐ”๋กœ ์ „์œผ๋กœ ๋Œ์•„๊ฐ
        self.navigationController?.popToRootViewController(animated: true) // root๋กœ ๋Œ์•„๊ฐ
    }

present ์—์„œ์˜ back

 @IBAction func tabBackButton(_ sender: UIButton) {
        self.presentingViewController?.dismiss(animated: true, completion: nil)
    }
๋ฐ˜์‘ํ˜•

'Swift' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Swift - ํ™”๋ฉด๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌํ•˜๊ธฐ  (0) 2021.12.07
Swift - ViewController life cycle  (0) 2021.12.07
Swift - Content Hugging, compression Resistance  (0) 2021.12.06
Swift ๊ณ ์ฐจํ•จ์ˆ˜(map, filter, reduce)  (0) 2021.11.28
Swift closure  (0) 2021.11.28
  1. ๐Ÿ“Œ ๋ชฉ์ฐจ
  2. ๐Ÿ“Œ ์„œ๋ก 
  3. ๐Ÿ“Œ push
  4. ์Šคํ† ๋ฆฌ ๋ณด๋“œ
  5. ์ฝ”๋“œ
  6. ๐Ÿ“Œ present
  7. ์Šคํ† ๋ฆฌ๋ณด๋“œ
  8. ์ฝ”๋“œ
  9. ๐Ÿ“Œ Back
  10. push ์—์„œ์˜ back
  11. present ์—์„œ์˜ back
'Swift' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Swift - ํ™”๋ฉด๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌํ•˜๊ธฐ
  • Swift - ViewController life cycle
  • Swift - Content Hugging, compression Resistance
  • Swift ๊ณ ์ฐจํ•จ์ˆ˜(map, filter, reduce)
eddie0329
eddie0329
Front-end Developer
๋ฐ˜์‘ํ˜•
eddie0329
Eddie Sunny's Blog
eddie0329
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (100)
    • Summary of Book (0)
    • Vue Study (11)
    • Vue TDD (9)
    • Vue BDD (5)
    • Design Pattern (9)
    • Javascript Study (3)
    • React Study (15)
    • React TDD (1)
    • Vue Storybook (2)
    • Refactoring (0)
    • Graphql_Apollo (3)
    • Svelte (8)
    • Open Source (1)
    • D3 (4)
    • Typescript (1)
    • CSS (2)
    • Android (0)
    • Java (0)
    • Kotlin (0)
    • ์žก๋‹ด (0)
    • Swift (19)
    • Rust (2)
    • ํšŒ์‚ฌ์ด์•ผ๊ธฐ (2)
    • ReactNative Study (2)
    • Vitest (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • Home

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Cypress
  • TypeScript
  • React Native
  • Vue
  • D3
  • react-component-slot
  • vue bdd
  • react useRef
  • javascript pattern
  • Vue test
  • apollo
  • jest
  • vue cypress
  • BDD
  • swift5
  • Nextjs
  • vue storybook
  • Kotlin
  • svelte
  • Javascript
  • client only
  • react
  • storybook6
  • vue tdd
  • vue3
  • CSS
  • TDD
  • Design Pattern
  • swift
  • slot ํŒจํ„ด

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
eddie0329
Swift - Navigator Push Present
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.