Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Observable
- tableView
- ios
- uiscrollview
- 리펙토링
- 스위프트
- rxswift
- 리펙터링
- Refactoring
- collectionview
- swiftUI
- swift documentation
- 클린 코드
- Protocol
- MVVM
- Clean Code
- map
- 리팩토링
- UITextView
- 애니메이션
- Human interface guide
- uitableview
- clean architecture
- SWIFT
- combine
- RxCocoa
- ribs
- Xcode
- HIG
- UICollectionView
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 2. Storyboard로 UI 구현 기본기 - Storyboard로 UI 구현 기본기 - segue, Action Segue, Manual Segue (세그웨이) 본문
iOS 응용 (swift)
[iOS - swift] 2. Storyboard로 UI 구현 기본기 - Storyboard로 UI 구현 기본기 - segue, Action Segue, Manual Segue (세그웨이)
jake-kim 2023. 3. 1. 22:09* Storyboard로 UI 구현 기본기 목차 참고
Segue란?
- 사전적인 segue['세그웨이'] 뜻: to move easily and without interruption from one piece of music, part of a story, subject, or situation to another
- swift에서는 뷰 컨트롤러 사이 또는 화면 전환의 트리거인 버튼을 연결할때 생기는 화살표를 segue object라고 명칭
- segue를 사용하면 어떤 코드도 필요없이 바로 사용한다는 특징이 존재
- Segue의 종류는 두 가지
- Action Segue - 별도의 코드 없이 바로 화면전환
- Manual Segue - storyboard에서 segue 화면전환을 미리 정의하고, 이 segue를 코드 베이스에서 불러서 언제든지 사용할 수 있도록 하는 것
Action Segue
- 별도의 코드 없이 바로 화면전환
- storyboard에서 버튼을 선택하고 ctrl + 드래그하여 옆에 있는 ViewController에 놓으면 Action Segue 옵션 선택이 가능
Manual Segue
- storyboard에서 segue 화면전환을 미리 정의하고, 이 segue를 코드 베이스에서 불러서 언제든지 사용할 수 있도록 하는 것
- 화면전환할 viewController의 dock 바의 첫 번째 아이콘 클릭 + ctrl + 드래그하여 끌면 Manual Segue 옵션이 있고 여기서 선택
- 코드에서 화면전환할때 segue 구분을 segue ID를 가지고 구분하므로 storyboard에서 segue의 identifier 입력
- 코드 베이스에서 @IBAction func 키워드로 segue 관련 메소드를 만들고 여기서 viewController에 내장된 performSegue(withIdentifier:sender:) 호출
- moveToVC2 라는 메소드 생성
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func moveToVC2(_ sender: Any? = nil) {
performSegue(withIdentifier: "segue1", sender: self)
}
}
- 테스트를 위해 viewDidAppear에서 3초 후 이 메소드를 호출
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
self.moveToVC2()
}
}
* 전체 코드: https://github.com/JK0369/ExSegue
* 참고
https://dictionary.cambridge.org/ko/%EC%82%AC%EC%A0%84/%EC%98%81%EC%96%B4/segue
'iOS 응용 (swift)' 카테고리의 다른 글
Comments