UIView不在UIScrollView委托中触发方法

我想知道是否有人可以请摆脱一些为什么UIScrollView委托的任何方法没有被解雇。

设置场景。 我有一个UIViewController被推入到堆栈。 在这个视图中,我有5个自定义选项卡,我已经做了。 在每个水龙头的一个水龙头,我有一个从UIViewController / xib组合的5视图(每个选项卡一个)加载function。

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

在这些被加载的视图之一,我有一个滚动视图与一些图像(上面的代码块是说的看法)。 self.exercise是一个NSManagedObject。 图像加载到滚动视图控制器和分页工作正常。 但是不pipe用的是ScrollView的委托方法,比如

 - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)theScrollView 

我已经在头文件中包含了对委托的引用。

 @interface ExercisePhotoView : UIViewController <UIScrollViewDelegate> { IBOutlet UIScrollView *scrollView; IBOutlet UIPageControl *pageControl; Exercise *exercise; NSMutableArray *exerciseImageList; } 

有什么我失踪或做错了。 我无法获得任何委托方法在ExercisePhotoView类上触发。

先谢谢你。

您必须将self.scrollView.delegate设置为应该充当scrollView委托的对象。

虽然你已经说过ExercisePhotoView实现了UIScrollViewDelegate协议,但是你没有通知它是它的委托的UIScrollView的任何实例

因此,在ExercisePhotoView(或其他合适的方法)的viewDidLoad中,您需要声明ExercisePhotoView是特定scrollView实例的委托:

 scrollView.delegate = self; 

记得添加@property (nonatomic, retain) UIScrollView *scrollView; 在你的头文件和@synthesize scrollView; 在你的.m

你必须告诉滚动谁是委托,这样我知道谁发送委托通知。