2016-12-31 1 views
0
class CustomSegue: UIStoryboardSegue { 

    override init(identifier: String?, source: UIViewController, destination: UIViewController) { 
     super.init(identifier: identifier, source: source, destination: destination) 
    } 

    override func perform() { 

     self.source.navigationController?.pushViewController(self.destination, animated: true) 

    } 

} 

위의 코드에서 segue의 동작을 무시하고 있습니다. 종류가 인 경우에만 pushViewController을 사용해야합니다. 다른 유형의 경우 표시 (예 : 푸시) 할 수있는 기본 동작을 수행해야합니다.UIStoryboardSegue 서브 클래스 식별 단락의 종류

서브 클래스 perform()에서 서브 우퍼의 Kind을 어떻게 찾을 수 있습니까?

즉, 사용자 정의 SEGUE 같은 스토리 보드를 선택 SEGUE에서

 override func perform() { 

      if kind==Push { 
       self.source.navigationController?.pushViewController(self.destination, animated: true) 
      } else { 
       super.perform() 
      } 

     } 

답변

0

및 기본 동작 만 표시를 선택 SEGUE (예 : 푸시)

enter image description here

+0

위한 그러나 코드의 종류와 같은 사용자 정의 SEGUE을 선택 perform(), 우리는 어떻게 사용자 정의 동작을 알 수 있습니까? 그 쇼 (예 : 푸시)가 – andyPaul

+0

인 경우에만 그것을 수정하고 싶습니다. 수행에서 종류를 얻을 수 없습니다. 스토리 보드에 코드가 아닌 다른 구절을 만들어야합니다. 푸시 전환 및 기타 푸시 전환이있는 맞춤 세그먼트와 같은 하나의 세그먼트는 기본 세그먼트가되어야합니다. – Manoj