Szukam sposobu na implementację szumu, który jest odtwarzany za każdym razem, gdy komórka przechodzi przez określony punkt na ekranie (środek).Odtwarzaj dźwięk znacznika podczas przewijania UITableView (trochę jak UIPickerView)
Przelałem przez sieć, ale nie mogę się dowiedzieć, od czego zacząć? Każdy kierunek byłby świetny (nie szukając kogoś, kto by mi to rozwiązał, tylko trochę wglądu lub porady)
Dzięki!
UPDATE:
Oto kod mam realizowane przy użyciu metody, ale to nie działa prawidłowo. Wydaje się, że nigdy nie nazywa się "Tick" nslog, co oznacza, że coś w parametrach jest nieprawidłowe. Moje komórki widoku tabeli mają 100 pikseli wysokości. Jakakolwiek rada?
- (void) scrollViewDidScroll:(UIScrollView *)scrollView {
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
self.myTimer = [NSTimer scheduledTimerWithTimeInterval:1/30.0 target:self selector:@selector(checkTableViewScrollPosition) userInfo:nil repeats:YES];
}
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
if (self.myTimer)
[self.myTimer invalidate];
self.myTimer = nil;
}
int currentContentOffset = 0;
int tableviewCellHeight = 100;
int thresholdValue = 50;
- (void) checkTableViewScrollPosition {
int contentOffsetValue = _contentTableView.contentOffset.y;
NSLog(@"%d", contentOffsetValue);
if ((contentOffsetValue + tableviewCellHeight/2) % tableviewCellHeight <= thresholdValue && currentContentOffset != contentOffsetValue) {
NSLog(@"Tick!");
NSLog(@"%d", contentOffsetValue);
currentContentOffset = _contentTableView.contentOffset.y;
}
}
Absolutnie działa idealnie! Dziękuję bardzo! –
Mam jeden problem, dźwięk kliknięcia jest odtwarzany, gdy aplikacja ładuje się po raz pierwszy lub w dowolnym momencie wracam do widoku zawierającego tabelę. Czy mimo to nie odtwarza się go po załadowaniu widoku? Z góry dziękuję za radę! –
Nie przetestowałem tego, ale powinieneś być w stanie użyć tej samej techniki (bez Tick), aby ustawić self.currentIndexPath w viewWillAppear tak, aby zaczynał się od poprawnej wartości za pierwszym razem. – lnafziger