2017-12-21 5 views
0

사용자 지정 UIImageView 클래스가있는 둥근 사용자 아이콘을 만듭니다. 이러한 이미지 뷰 상호 작용을 사용하도록 설정하여 사용자가 이미지 뷰 중 하나를 탭하면 다른 뷰 컨트롤러와 연결되어야합니다.custom imageView 클래스에서 segue를 수행 하시겠습니까?

아이콘을 탭하면 각 사용자의 데이터를 성공적으로 인쇄 할 수 있지만 "올바른 식별자가 있는지 트리플을 확인 했더라도"식별자가 'segue가'확인 '되지 않습니다. 이런 식으로하지 않을 수 있습니까? 여기

@objc func iconWasTapped() { 
    // 
    var controller = ConfirmOpponentController() 
    print("\(game.playerOne?.username ?? "") VS \(game.playerTwo?.username ?? "")") 
    controller.segue() 
} 

가 있습니다 : 여기

는 아이콘 (이이 icon.swift 파일 내부에 위치) 내가 탭에 SEGUE에 액세스하기 위해 컨트롤러의 인스턴스를 생성 탭 때 실행할 코드입니다 뷰 컨트롤러 파일 내의 SEGUE 방법 : 스토리 보드 내부

let SEGUE_TO_CONFIRM = "confirm" 

    func segue() { 
    self.performSegue(withIdentifier: SEGUE_TO_CONFIRM, sender: nil) 
} 

, 내가 끌고 푸시 SEGUE를 생성하고 '확인'을 이름하여 제어했다. 나는 버튼이나 아이콘에서 끌기를 제어하지 않았다. 방금보기 컨트롤러를 연결했습니다.

+1

VC의 세그먼트 코드가 정상입니다. 그러나 사용자 정의보기가 View Controller와 어떻게 대화하는지 다시 생각해야합니다. 컨트롤러 = ConfirmOpponentController() 만 작성할 수는 없습니다. 스토리 보드 나 스크린에 연결되지 않은 새로운 컨트롤러를 인스턴스화합니다. 그것이 당신이 오류를 얻는 이유입니다. 새로 할당 된 컨트롤러는 스토리 보드에 있지 않기 때문에 섹이 전혀 없습니다. 이미 사용자 정의보기를 표시하고있는 View Controller 인스턴스에 대한 참조를 얻는 방법을 알아야합니다. 몇 가지 방법이 있습니다. 알아낼 것입니다. – ozzieozumo

답변

0

내가보기에 탭 제스처 인식기를 이미지보기에 추가하고 목적지보기 컨트롤러로가는 세그먼트로 동작을 설정하고 "prepareForSegue"기능에 if 문을 추가 할 수 있다고 생각합니다.

관련 문제