Sto provando a utilizzare il nuovo scrollViewWillEndDragging: withVelocity: targetContentOffset: chiamata del delegato UIScrollView in iOS 5 ma non riesco a ottenere che risponda correttamente a me correttamente. Sto cambiando il valore targetContentOffset-> x ma non viene mai utilizzato. So che il codice è in esecuzione perché colpirà i breakpoint in quella funzione. Ho persino provato a impostare il valore di offset su un numero codificato in modo da sapere dove andrebbe a finire, ma non funziona mai.UIScrollView personalizzato paging con scrollViewWillEndDragging
Qualcuno è stato in grado di usarlo correttamente e farlo funzionare? C'è qualche altra chiamata delegata che deve essere implementata affinché funzioni?
Ecco il mio codice nel caso in cui qualcuno vede qualcosa che non va:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
// goodOffsetX returns the contentOffset i want the scrollView to stop at
CGFloat goodOffsetX = [self _horizontalContentOffsetForTargetHorizontalContentOffset:(*targetContentOffset).x velocity:velocity.x];
NSLog(@" ");
NSLog(@"scrollViewWillEndDragging");
NSLog(@" velocity: %f", velocity.x);
NSLog(@" currentX: %f", scrollView.contentOffset.x);
NSLog(@" uikit targetX: %f", (*targetContentOffset).x);
NSLog(@" pagedX: %f", goodOffsetX);
targetContentOffset->x = goodOffsetX;
}
Ti hanno 'pagingEnabled' impostato a' affermativa a questa visione di scorrimento? –
pagingEnabled è impostato su NO, i documenti dicono che deve essere impostato su NO per poter chiamare questo delegato. Ho anche provato a impostarlo su YES solo per kick e non viene chiamato come per i doc, ma c'è qualche logging della console che dice di non farlo con pagingEnabled impostato su YES. – Alex
Il mio problema era che lo stavo testando su un telefono con iOS4. Inoltre, è stata impostata la proprietà delegato di UIScrollView? – Marc