10ページあるとしましょう。
イベントのイベント ハンドラーが次のように追加されます。
アプリを実行します。これで 10 ページになりましたが、デフォルトではページ 1 (インデックス 0) が選択されています。2 ページ目または 3 ページ目をタッチします。イベントはトリガーされません。最後のページが選択されると、イベントがトリガーされます。最後のページでも同じことが起こります。最後のページを選択したら、前のページを選択します。イベントは発生しませんが、最初のページを選択するとイベントは発生しません。
このケースの簡単なデモを見るには、UICatalog サンプルをダウンロードして ControlsViewController.m を開き、375 行目で UIControlEventTouchUpInside を UIControlEventValueChanged に変更します。
- (UIPageControl *)pageControl
{
if (pageControl == nil)
{
CGRect frame = CGRectMake(120.0, 14.0, 178.0, 20.0);
pageControl = [[UIPageControl alloc] initWithFrame:frame];
[pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
// in case the parent view draws with a custom color or gradient, use a transparent color
pageControl.backgroundColor = [UIColor grayColor];
pageControl.numberOfPages = 10; // must be set or control won't draw
pageControl.currentPage = 0;
pageControl.tag = kViewTag; // tag this view for later so we can remove it from recycled table cells
}
return pageControl;
}