と呼ばれるUIViewController
のデリゲートである があります。スクロールビューのデリゲートをビューコントローラーに設定しましたが、スクロールビューがスクロールされるたびに呼び出しがありません。実装は次のとおりです。UIScrollView
NumberLineScroll
scrollViewDidScroll:
UIViewController
ヘッダー ファイル ( ) Game
:
@interface Game : UIViewController <LocDelegate, UIScrollViewDelegate, ResultsDelegate> {
...
NumberLineScroll* nline;
...
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView;
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale;
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
メソッドが実装されているメインファイルのコンポーネント:
- (void)viewDidLoad {
...
nline = [[NumberLineScroll alloc] initWithFrame: CGRectMake(0, -50, 1024, 400)];
[nline setScrollEnabled:YES];
[nline setContentSize:CGSizeMake(4100, 400)];
[self.view addSubview:nline];
nline.delegate = self;
nline.locDelegate = self; //this is for a Ball imageview that is implemented in NumberLineScroll
...
}
UIScrollView
( NumberLineScroll
)の実装は次のとおりです。
ヘッダファイル:
@interface NumberLineScroll : UIScrollView {
NumberLine* nline;
Ball* ball;
id <UIScrollViewDelegate> delegate;
id <LocDelegate> locDelegate;
}
@property(nonatomic, assign)id <UIScrollViewDelegate> delegate;
@property(nonatomic, assign)id <LocDelegate> locDelegate;
メイン ファイルに関連するものは何もありません。スクロールに影響を与えるために私が行う唯一のプログラミングは、バウンスをオフにし、ユーザーがボールを動かしているときにスクロールをオフにし、ユーザーが終了したら再びオンにすることです。また、locDelegate
問題なく動作するので問題ありません。主な問題は、NumberLineScroll
デリゲート呼び出しを行わないことです。どうしてこれなの?
また、明確にするために、NumberLine
ビューはスクロールビューのコンテンツビューです。NumberLineScroll