swift viewDidLoad시에 화면 천이하고 싶다.
1978 단어 Swift4
viewDidLoad에 원래 화면 천이는 할 수 없다.
viewDidLoad로 화면 전이할 수 없는 이유는 「viewDidLoad와는 아직 view를 읽는 처리」이기 때문에.
결론으로서는 viewDidAppear를 사용하는 것으로 화면 표시시의 화면 천이를 실시할 수 있다.
자주(잘) 여러가지 기사로 이하와 같은 라이프 사이클을 본 적이 있다고 생각합니다.
흠흠, 과연. 그래서 왜 화면 전환이 불가능한가?
iOS 개발의 UIViewController 수명주기 이벤트 요약
매우 힘들게 떨어졌기 때문에 정리하면, view 라이프 사이클은,
①loadView
②viewDidLoad
③viewWillAppear
④viewWillLayoutSubviews
⑤viewDidLayoutSubviews
⑥viewDidAppear
⑦viewWillDisappear
⑧viewDidDisappear
대략적으로는 다음과 같은 의미가 되므로,
①Viewを読み込むよ
②Viewを読み込んだよ
③Viewを表示するよ
④View(SubViews)をうまい事配置するよ
⑤View(SubViews)をうまい事配置したよ
⑥Viewを表示したよ
⑦View消すよ
⑧View消したよ
⑥의 viewDidAppear로 처음으로 화면 천이 등의 처리를 실시하는 것이 가능하게 된다.
코드로 하면 다음과 같이 됩니다.
viewDidLoad 내에 화면 전환을 쓴 경우 override func viewDidLoad() {
super.viewDidLoad()
//ここに画面遷移処理を記述しても走らない。
}
override func viewDidAppear(_ animated: Bool) {
//ここに画面遷移処理を記述するときちんと走る。
}
나름대로 깨끗이했습니다. viewDidLoad시에도 화면 전환 방법을 아시는 분이 있으면 코멘트를주세요.
Reference
이 문제에 관하여(swift viewDidLoad시에 화면 천이하고 싶다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryomaDsakamoto/items/f8aa493058188d6e4d3c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
①loadView
②viewDidLoad
③viewWillAppear
④viewWillLayoutSubviews
⑤viewDidLayoutSubviews
⑥viewDidAppear
⑦viewWillDisappear
⑧viewDidDisappear
①Viewを読み込むよ
②Viewを読み込んだよ
③Viewを表示するよ
④View(SubViews)をうまい事配置するよ
⑤View(SubViews)をうまい事配置したよ
⑥Viewを表示したよ
⑦View消すよ
⑧View消したよ
override func viewDidLoad() {
super.viewDidLoad()
//ここに画面遷移処理を記述しても走らない。
}
override func viewDidAppear(_ animated: Bool) {
//ここに画面遷移処理を記述するときちんと走る。
}
Reference
이 문제에 관하여(swift viewDidLoad시에 화면 천이하고 싶다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryomaDsakamoto/items/f8aa493058188d6e4d3c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)