1

UIScrollView 대리자의 메서드가 실행되지 않는 이유에 대해 누군가가 의견을 제시 할 수 있는지 궁금합니다.UIView UIScrollView 대리자의 메서드 실행 안 함

장면을 설정하려면. 스택에 푸시되는 UIViewController가 있습니다. 이보기에는 내가 만든 5 개의 사용자 지정 탭이 있습니다. 각 탭의 탭에서 UIViewController/xib 콤보에서 5 개의 뷰 (탭 당 하나)의로드가있는 함수가 있습니다.

ExercisePhotoView *exercisePhotoView = [[ExercisePhotoView alloc] initWithNibName:@"ExercisePhotoView" bundle:nil]; 
exercisePhotoView.exercise = self.exercise; 
[self.photoView addSubview:exercisePhotoView.view]; 
[exercisePhotoView release]; 

로드 된 이러한 뷰 중 하나에서 일부 이미지가있는 스크롤 뷰가 있습니다 (위의 코드 블록은 해당 뷰입니다). self.exercise은 NSManagedObject입니다. 이미지는 scrollview 컨트롤러에 잘로드되고 페이징이 작동합니다. 무엇 그러나 작동하지 않는 것은 같은

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)theScrollView 

로있는 ScrollView의 위임 방법 중 하나 내가 지금처럼 내 헤더 파일의 대리자에 대한 참조를 포함했다입니다.

@interface ExercisePhotoView : UIViewController <UIScrollViewDelegate> { 
    IBOutlet UIScrollView *scrollView; 
    IBOutlet UIPageControl *pageControl; 

    Exercise    *exercise; 
    NSMutableArray   *exerciseImageList; 
} 

내가 누락되었거나 잘못하고있는 것이 있습니까? 위임 메서드 중 하나를 ExercisePhotoView 클래스에서 실행할 수 없습니다.

미리 감사드립니다.

답변

2

self.scrollView.delegate을 scrollView에 대한 대리인으로 사용해야하는 개체로 설정해야합니다.

+0

안녕하세요 Philipp, 입력 해 주셔서 감사합니다. 다음과 같이 추가했습니다. "self.scrollView.delegate = self;" 내 ExercisePhotoView. 응용 프로그램이 EXC_BAD_ACCESS와 충돌하고 NSZombies를 사용하도록 설정 한 후 다음 오류가 표시되며 지금 무슨 일이 일어나고 있는지 알 수 있습니다. *** - [ExercisePhotoView respondsToSelector :] : 메시지가 할당 취소 된 인스턴스에 전송 됨 0x5ce90a0 – BrettS

+0

충돌을 명확히하기 위해 scrollView 대리자 메서드를 호출 할 때만 발생합니다. – BrettS

+0

모든 도움을 주셔서 감사합니다. 나는 마침내 문제를 발견했다. 그것은 주 및 줄 [exercisePhotoView 릴리스]보기를 추가 할 때 보인다; ExercisePhotoView를 추가 한 후에는 내 모든 악의 경로였습니다. – BrettS

1

ExercisePhotoView가 UIScrollViewDelegate 프로토콜을 구현한다고 말했지만 위임자 인 UIScrollView의 인스턴스을 알지 못했습니다.

scrollView.delegate = self; 
0

하는 헤더와 @synthesize scrollView;에서의 @property (nonatomic, retain) UIScrollView *scrollView;을 추가해야합니다 :

따라서, ExercisePhotoView (또는 다른 적절한 방법)의 viewDidLoad에, 당신은 ExercisePhotoView가 특정있는 ScrollView 인스턴스에 대한 대리자임을 선언해야 내 .m

0

위임자를 누구에게 보내야 대리인 알림을 보낼지를 알 수 있어야합니다.