Supponiamo di avere dieci pagine.L'evento UIControlEventValueChanged non viene attivato per UIPageControl in modo coerente
un gestore eventi per l'evento è aggiunto come di seguito:
eseguire l'applicazione. Ora nelle dieci pagine, per impostazione predefinita è selezionata la pagina 1 (indice 0). Tocca la seconda pagina o la terza pagina. L'evento non verrà attivato. Se l'ultima pagina è selezionata, l'evento verrà attivato. Lo stesso succede con l'ultima pagina. Dopo aver selezionato l'ultima pagina, seleziona la pagina precedente. L'evento non verrà attivato, ma se selezioni la prima pagina, l'evento non verrà attivato.
di vedere un semplice dimostrazione di questo caso, scaricare l'esempio UICatalog e aprire il ControlsViewController.m e modificare l'UIControlEventTouchUpInside a UIControlEventValueChanged in linea no 375.
- (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;
}
@jrtuton: Grazie. Quando ho provato l'app in iPad, sono riuscito a capire meglio il caso. – Krishnan