2017-01-24 2 views
-2

앱 내의 메뉴에 대해 collectionView를 사용하고 있습니다. 메뉴에 탐색 컨트롤러가있어 사용자가 메뉴에 있음을 알고 메뉴에서 선택된 메뉴와 페이지 사이를 앞뒤로 이동할 수있게하려고합니다.상위 navigationController가있는 collectionViewController의 셀에서 Segue

그러나 내가 programView로 collectionView를 만들었으므로 런타임에 셀이 만들어지기 때문에 'show'segue를 사용할 수없는 것처럼 보입니다.

인터페이스

enter image description here

런타임

enter image description here

아직이 메뉴에 대한 탐색 모음을 활용하는 방법이 있나요?

각 셀에서 원하는 페이지까지 segue로 정적 테이블 뷰를 사용하고있었습니다. 필자는 각 지명 된 segue에 묶여있는 많은 코드를 가지고 있으므로 변경하기를 꺼립니다. 이전의 tableview에

클래스 MenuTable segues를 사용

enter image description here

코드 :있는 UITableViewController는 {

weak var centerButtonDelegate: ManageCenterButtonDelegate? 

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "segueTour" { 
     fadeOutDelegate() 
    } 
+0

어디에서 segue를 부르시겠습니까? 그 코드를 볼 수 있습니까? – John

+0

나는 프로그램 적으로 segue하고 싶지 않다. 그들은 'show'segues로 tableview 셀에서 설정되었습니다. 내가 tableView 가고 있었는데 대리자 함수를 호출하는 prepareForSegue 함수에서 일부 코드를했습니다. 그것을 표시하기 위해 질문을 편집하십시오. – Pippo

+0

프로그래밍 방식으로 설정하는 것이 좋습니다. 더 쉽게 제어 할 수 있습니다. – John

답변

0

, 다음 뷰 컨트롤러를 만들고 해당 셀에 적절하게 구성하고, show 전화 (또는 당신이 감지하려는하지만).

+0

우수 감사합니다. 나는 프로그램 적으로 .present와 네비게이션 컨트롤러 요법을위한 IB segue만을 사용했다. – Pippo

1

나는 새의 ViewController에 UICollectionViewCell를 연결하는 경우 프로그래밍 방식 SEGUE을 수행해야한다고 생각 , 그들은 더 쉽게 제어 할 수 있으며 스토리 보드에서도 잘못 설정 한 것일 수 있습니다.

tableView 대리자 메서드 'selectedRowAt : IndexPath'에서 switch 문을 수행하고 거기에서 segue를 수행해야합니다. 이런 식으로 뭔가 :

셀을 선택하거나 도청
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
    switch indexPath.item { 
    case 0: 
     //perfrom segue 
     performSegue("mySegue", sender: self) 
    default: 
     break 
    } 
} 
+0

이 페이지의 탐색 모음을 계속 유지합니까? – Pippo

+0

예 네비게이션 바를 유지해야합니다. – John

관련 문제