1

UIScrollViewデリゲートのメソッドのいずれかが起動されない理由について誰かが光を当ててくれるでしょうか。

シーンを設定します。スタックにプッシュされるUIViewControllerがあります。このビューには、作成した5つのカスタムタブがあります。各タップのタップで、UIViewController / xibコンボから5つのビュー(タブごとに1つ)をロードする関数があります。

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

ロードされるこれらのビューの1つに、いくつかの画像を含むスクロールビューがあります(上記のコードブロックは前述のビューです)。self.exerciseはNSManagedObjectです画像はscrollviewコントローラーに正常に読み込まれ、ページングが機能します。ただし、機能しないのは、次のようなScrollViewのデリゲートメソッドのいずれかです。

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)theScrollView

このように、ヘッダーファイルにデリゲートへの参照をインクルードしました。

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

    Exercise                *exercise;
    NSMutableArray          *exerciseImageList; 
}

私が見逃している、または間違っていることはありますか?ExercisePhotoViewクラスで起動するデリゲートメソッドを取得できません。

前もって感謝します。

4

4 に答える 4

2

self.scrollView.delegatescrollViewへのデリゲートとして機能するオブジェクトに設定する必要があります。

于 2011-01-30T21:19:55.770 に答える
1

ExercisePhotoViewがUIScrollViewDelegateプロトコルを実装していると述べましたが、それが代理人であるUIScrollViewのインスタンスについては通知していません。

したがって、viewDidLoadExercisePhotoView(または他の適切なメソッド)では、ExercisePhotoViewが特定のscrollViewインスタンスのデリゲートであることを宣言する必要があります。

scrollView.delegate = self;
于 2011-01-30T22:51:03.657 に答える
0

@property (nonatomic, retain) UIScrollView *scrollView;ヘッダーと.mに追加することを忘れない@synthesize scrollView;でください

于 2011-01-30T22:55:20.983 に答える
0

デリゲート通知を誰に送信するかがわかるように、デリゲートが誰であるかをスクロールに伝える必要があります。

于 2011-01-30T22:56:44.430 に答える