最も簡単な方法は、UIScrollView の各 UIButton に pageNumber+1 と等しいタグを設定することです (+1 は、ページ 0 のタグが 1 になり、すべてのデフォルト タグが 0 であるため、ボタンを見つけることができるためです)。viewDidEndDecelerating/viewDidScroll
次に、必要に応じて、タグまたはその他のスクロール ビュー デリゲート メソッドを計算できます。私はviewDidEndDecelerating
このようなものですべての計算を行っています:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
int page = scrollView.contentOffset.x / scrollView.frame.size.width;
//now you have the current page so you can get the button
UIButton *button =(UIButton *) [scrollView viewWithTag:page+1]; //the +1 that I was talking about above
button.selected = YES;
}
また、他のボタンの選択を解除したい場合は、次のようなタグでも見つけることができます。
for(int i = 1; i<=numberOfPages; i++) {
UIButton *button =(UIButton *) [scrollView viewWithTag:i];
button.selected = NO;
}
for
ただし、ボタンを有効にする部分の前に必ずループを呼び出してください。