2012-12-12 23 views
7

Sıçrama işlemini UIScrollView numaralı telefondan sınırlandırmalıyım, böylece her zamanki gibi alttan zıplayacaktır, ancak üstte X pikselden daha ileri gitmeyecektir (altta önemli değildir).iOS'ta UIScrollview için sıçrayan sınır

Geri dönen boyutu kısıtlamak için herhangi bir yolu var mı? Belki de scrollViewWillScroll (scrollViewDidScroll yerine) delege içindeki bir yöntemin, üst + X'den daha ileriye hareket eden kaydırma olaylarını kullanmama izin vereceğini düşünmekteyim, ancak şu ana kadar uygun olanı bulamadım.

Herhangi bir ipucu? Bunun için doğru yöntem

+0

Zıplamayı neden azaltmak istediğinizi sorabilir miyim? –

+0

Süper geç cevap için özür dilerim ama evet: Bir ön liste ve bir arka plan görüntüsü ile Paralaks efekti yapmak için uğraşıyordum. PAth 2.0 uygulama olayına benzer bir şey, ama bir noktada arka görüntünün büyüklüğüne bağlı olarak sıçramanın değişmesini istedim, böylece ana liste hiçbir zaman arka plan arasında siyah bir boşluk görüldüğü noktaya hareket eder (sıçrar) ön liste. – HiddenDev

cevap

13

scrollViewDidScroll:'dur. İçeride contentOffset'i kolayca ayarlayın.

Bu örnek 20 piksel üst sıçrama sınırlar: view 0,0 geri kaydırılan kadar doğal olmayan bir gecikme biraz var

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    if (scrollView.contentOffset.y < -20) { 
     scrollView.contentOffset = CGPointMake(0, -20); 
    } 
} 

Not o zaman nedeni sıçrama yavaşlatılmış bir kaydırma ve sürtünme değildi. Ama bence bunu engellemenin bir yolu yok. Temel olarak, scrollView hala tam yoldan sekmesine rağmen görüntülemez.

+0

Tamamen haklısın :) Belki de daha önce yanlış bir şey yapıyordum çünkü güzel görünmüyordu. – HiddenDev