スクロールの上にある画像をフリックで変える方法とは
今、画像を左右に数枚スクロールさせ、かつ、その画像を上や下にフリックすると各々、上や下に他の画像がでてきて、さらに拡大縮小もできるようなコードを書いています。
ViewContorller(以下、VC)にスクロールのメソッドを書き、
もう一つのPageView(UIScrollVIewクラスを親にもつ。以下、PV)に画像が拡大縮小するようなメソッドと上下のフリックのメソッドを書いています。
このPVの中で行う上下のフリックの操作によって、VCにあるスクロールの上に乗っている画像を変えたいのですが、色々と試したのですがその方法が一向にわかりません。もし宜しければ、ご教授ください。宜しくお願い致します。
xcodeは5.0です。
以下、スクロールとその上に画像をのせているpageがあるVC.mのコードです。
このpageにのっている画像をPVのほうのフリック操作で変更させたいと思っています。
- (void)viewDidLoad
{
[super viewDidLoad];
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.frame = self.view.bounds;
scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 3, self.view.frame.size.height);
scrollView.pagingEnabled = YES;
[self.view addSubview:scrollView];
//AppdelegateでValueというプロパティをつくり、PVでのフリック操作によってこの数値が変動したら、currentpageに反映して、それに対しての画像がでてくるようにしたいつもりです。
AppDelegate *appdelegate=(AppDelegate*)[[UIApplication sharedApplication]delegate];
currentpage=appdelegate.Value;
//PageViewにて、画像をいれるメソッドをsetImageでつくっています。
for (int i=1;i<4;i++) {
PageView *page = [[PageView alloc] initWithFrame:self.view.bounds];
[page setImage:[NSString stringWithFormat:@"%d.%d",currentpage,i]];
page.frame = CGRectMake(
self.view.frame.size.width * (i-1),
0,
self.view.frame.size.width,
self.view.frame.size.height
);
[scrollView addSubview:page];
}
お礼
なるほど! event.preventDefault() でブラウザ本来の処理を止めることが出来るのですね anyhelpさんの解説と合わせて実装の目途がつきました ありがうございました!