[Swift] Storyboard를 사용하지 않고 화면 전환을 하면 전환 대상이 검은 화면이 될 때나 storyboard doesn't contain a view controller with identifier '라고 말할 때.

4605 단어 StoryboardiOSSwift
iOS 앱에서 화면 전환을 수행하는 방법은 여러 가지가 있습니다. storyboard에서 하거나 코드로 하거나.

예를 들면
// set next VC
let nextVC: UIViewController = FooVC()

// set animation
nextVC.modalTransitionStyle = UIModalTransitionStyle.PartialCurl

// transition
self.presentViewController(nextVC, animated: true, completion: nil)  

navigation 있을 때
let nextVC = FooVC() as UIViewController
nextVC.modalTransitionStyle = UIModalTransitionStyle.PartialCurl
navigationController?.pushViewController(nextVC, animated: true)

전환 대상 화면이 검게 변할 때





Storyboard에서의 레이아웃이 반영되지 않고, 새까만 화면이 나와 버리는 것은, 코드로의 천이시에는 Storyboard를 명시하지 않으면, 코드로 레이아웃을 만들고 있는 것으로 취급된다(일일이 storyboard를 좋지 않다 ) 같다. . .

그러므로 다음과 같이 해 주면 됩니다.

storyboard로 레이아웃은 작성하고 있어, 천이는 코드로 하려고 했을 때라든가, Storyboard를 넘는 천이의 때.


let storyboard = UIStoryboard(name: "STORYBOARD_NAME", bundle: nil)
let nextVC = storyboard.instantiateViewControllerWithIdentifier("STORYBOARD_ID_OF_VC_CLASS") as! UIViewController
navigationController?.pushViewController(nextVC, animated: true)

오류 storyboard doesn't contain a view controller with identifier ''



여기까지,
storyboard doesn't contain a view controller with identifier 'foo''

라든지 오류가 발생하면,
storyboard id 설정을 잘못했을 수도 있습니다.

특히 use storyboard id에 체크를 넣지 않은 경우도 있습니다.



References


  • 세구이를 사용하지 않는 화면 전환시 다음 화면이 검게 변합니다.
  • Swift Docs
  • 좋은 웹페이지 즐겨찾기