0

UIScrollView의 하위 클래스가 있습니다. 이 사용자 지정 하위 클래스에는 새 UINavigationController를 열도록 초기화해야하는 메서드가 있습니다. 하위 클래스는 이러한 유형의 접근 방식을 다루지 않지만 이런 종류의 시나리오를 어떻게 이상적인 방식으로 처리 할 수 ​​있을지 이해합니다.UIView 서브 클래스에서 UINavigationController에 액세스하십시오.

답변

1

나는 이것을 처리하는 이상적인 방법은 하위 클래스 UIScrollView에 대한 사용자 지정 대리자 프로토콜 메서드를 선언하는 것이라고 생각합니다. 그런 다음 사용자 정의 스크롤 뷰에 부모 인 당신의 UIViewController하는 내가 가정 설정하고이 대리인 콜백을 차단하면 단순한 할 것 : 내 서브 클래스 내에서 대리자를 생성하면

[self.navigationController popViewControllerAnimated:YES]; 
+0

그래서, 내가 설정해야 할 것입니다 UIViewController, 필요할 때 컨트롤러를 팝합니다. 하지만이 위임자에 대해 UIViewController를 어떻게 설정합니까? 또한 델리게이트를 클래스 내에서 사용하는 것보다 이점이 있습니까? – Vad

+0

나는 내가 이상적인 방법이라고 생각할 것이지만 유일한 길은 아니라고 생각했다. 당신은 또한 사용자 정의 scrollView에서 소유하는 viewcontroller에 대한 참조가되고 그런 식으로 팝업 될 속성을 만들 수도 있습니다. 필자가 설명한 위임 메서드는 결국 더 깨끗하고 재사용 가능한 요소를 생성하게됩니다. – rooster117

+0

대표자를 초대하고 싶습니다. 끈기에 대한 죄송하지만 정확히 얼마나 깨끗하고 더 재사용 할 수 있을까요? 그냥 이해하고 싶다. – Vad

관련 문제