2012-06-20 25 views
5

İki UIScrollViews var, biri yatay, biri dikey, her ikisi de iki sayfa (yatay, biri iki sayfa genişliğinde ve dikey olanı iki sayfa yüksekliğinde olduğu gibi). Yatay kaydırma görünümü dikey olanıdır. Calcbot'un tasarımını taklit etmeye çalışıyorum, düğmeler için sola/sağa ve tarih için yukarı/aşağı kaydırma yapabilirsiniz.UIScrollView, ilk kez dokunduğunda aşağı atlıyor

Ancak, görünüm yüklendiğinde yatay kaydırma görünümü, olması gerekenden yaklaşık 100 piksel daha yüksektir. Sonra, dokunduğumda ve biraz hareket etmeye başladığımda, doğru pozisyona atlar/atlar ve orada kalır. Baştan itibaren doğru şekilde nasıl görünebilirim?

-(void)viewDidLoad { 
horizontalScrollView.pagingEnabled = YES; 
verticalScrollView.pagingEnabled = YES; 


horizontalScrollView.contentSize = CGSizeMake(horizontalScrollView.bounds.size.width * 2, horizontalScrollView.bounds.size.height); // 2 pages wide. 
verticalScrollView.contentSize = CGSizeMake(verticalScrollView.bounds.size.width, verticalScrollView.bounds.size.height * 2); 


horizontalScrollView.delegate = self; 
verticalScrollView.delegate = self; 




[verticalScrollView addSubview:horizontalScrollView]; 

[verticalScrollView setContentOffset:CGPointMake(0, 640)]; 

[self.view addSubview:verticalScrollView]; 

horizontalScrollView.frame = CGRectMake(0, 540, 320, 460); 

} 

Teşekkür:

İşte viewDidLoad benim kodudur.

cevap

4

atlama çalışırsa

+0

İçerikOfsetini 380 olarak değiştirdim ve işe yaradı. Teşekkürler. –

+1

Biraz farklı bir senaryoda, bu da benim atlama sorunum düzeltildi. Daha önce yaptığım bazı testlerden pagingEnabled ile dikey olarak sadece UIScrollView vardı. Ne zaman aşağı kaydırıp, herhangi bir yere dokunduğumda, geriye sıçradı. Kapatın ve iyiydi. – patridge

+0

Hey @patridge Lütfen yorumunuzu açıklayabilir misiniz .. Benzer bir sorun yaşıyorum. – Mystery

0

Hızlı bir düşünce çünkü şu anda UIScrollView ile uğraşıyorum. -(void)viewWillAppear:(BOOL)animated kullanmayı deneyebilirsiniz. Örneğin. Min ve maksimum kaydırma işlemlerini bu yöntemde ayarlıyorum çünkü içeriği okuduklarımdan, viewWillAppear'a kadar ayarlanmayan içeriğin boyutuna bağlı. o UIScrollView içinde

+0

Teşekkürler, ama bunu denedim ve hiçbir şey değişmiyor gibi görünüyor. –

0

Taşı bu hat yerine viewDidLoad ait viewWillAppear yılında

horizontalScrollView.frame = CGRectMake(0, 540, 320, 460); 

, genellikle ayarladığınız zaman pagingEnabled = EVET ve contentOffset bir konuma ayarlanır oluyor görüyor bir sayfada değil (bounds.size.height tarafından bölünebilir).

+0

Maalesef, olması gerekenden daha yüksek görünüyor. Yine de öneri için teşekkür ederim. –