UIBarButtonItem에서 새 뷰 컨트롤러를 열고 싶습니다.UIBarButtonItem에서 새 뷰 컨트롤러를 여는 방법 3
func readQrCode(_ sender:UIBarButtonItem!) {
print("working")
let vc = self.storyboard?.instantiateViewController(withIdentifier: "QRCodeViewController")
}
UIBarButtonItem에서 새 뷰 컨트롤러를 열고 싶습니다.UIBarButtonItem에서 새 뷰 컨트롤러를 여는 방법 3
func readQrCode(_ sender:UIBarButtonItem!) {
print("working")
let vc = self.storyboard?.instantiateViewController(withIdentifier: "QRCodeViewController")
}
두 가지 가능성. 당신이 탐색 컨트롤러를 (난 보통 할)이없는 경우, 바로 닫는 중괄호 전에이 줄을 추가 :
self.present(vc, animated:true, completion:nil)
당신이 탐색 컨트롤러 대신이를 추가하는 경우 :
self.navigationController?.pushViewController(vc, animated: true)
편집 : (내비게이션 컨트롤러가 있는지 여부를 디버그하기 위해)
? ~에! 그리고 당신이 그것을 실행할 때 예외를 얻으면, 네비게이션 컨트롤러는 존재하지 않습니다. 네비게이션 컨트롤러를 정의한 코드를 보여주십시오. 나는이 같은 AppDelegate에 그것을 할 것입니다 :
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let startupVC = SomeViewController()
self.window! = UIWindow(frame: UIScreen.main.bounds)
let mainNavConn = UINavigationController(rootViewController: startupVC)
self.window!.rootViewController = mainNavConn
self.window!.backgroundColor = UIColor(red: 1.0, green: 0.0, blue: 0.5, alpha: 1.0)
self.window!.makeKeyAndVisible()
return true
}
당신은 실제로 스토리 보드를 통해 갈 수있다, 당신은 SEGUE 일어날 수 있도록 할 뷰 컨트롤러와의 연결을 끌어의 UIBarButtom을 마우스 오른쪽 버튼으로 클릭합니다. 보기 컨트롤러에서 클릭을 해제하자마자 인터페이스에 어떤 유형의 세그를 사용할지 묻는 팝업이 표시됩니다. 그런 다음 세부 정보 표시를 선택할 수 있습니다. 그러면 코드를 입력하지 않고도 segue를 만들 수 있습니다.
네가 공유 한 코드는 navigation controller.added가 있지만 여전히보기 컨트롤러를 열지 못했습니다. –
? ~에! 그리고 당신이 그것을 실행할 때 예외를 얻으면, 네비게이션 컨트롤러는 존재하지 않습니다. 네비게이션 컨트롤러를 정의한 코드를 보여주십시오. AppDelegate에서 다음과 같이하면됩니다 : – Mozahler
어디서나 내비게이션 컨트롤러를 정의하지 않았습니다. –