2010-05-03 16 views
5

'u çağırır. UIScrollView'ı (Iphone SDK) alt sınıflara ayırır ve (void) layoutSubviews'ı geçersiz kılar; yöntem. scrollView'ın her kaydırıldığında bu yöntemin çağrıldığını fark ettim.UIScrollView, kaydırıldıkları her seferde

Bu doğru davranış mı yoksa kodumda hatalar var mı? Varsayılan davranışsa, bu bir performans katil değil mi? Saygılarımızla

, heinrich

+0

Neden UIScrollView alt sınıflarını kullanıyorsunuz? Neden sadece alt raporları eklemiyorsunuz? –

+1

Ayrıca, alt görünümler ekleyebilirim, ancak konu bu değil. – Erik

cevap

10

Doğru davranış olabilir ve subviews için özel bir yerleşim elde etmek için kullanılmalıdır. Bunu birkaç kez kullandım ve yüzlerce öğe eklenmiş herhangi bir performans sorunu yaşamadım.

bu konu üzerinde documentation A cut-out: diğer görünümler için

alt sınıfları da olabilir konteynerler. Bu durumda, yalnızca , görünüm hiyerarşisi oluşturmak için belirtilen başlatıcıyı initWithFrame :, geçersiz kılar. için, çizimden önce alt görünümlerinin düzenini zorlamak istiyorsanız, setNeedsLayout görünümüne gönderin. Daha sonra layoutIfNeeded çağrıldığında, görüntülemeden önce layoutSubviews yöntemi yalnızca çağrılır. Alt sınıflar, alt görünümlerinin herhangi bir özel düzenlemesini gerçekleştirmek için düzenini gözden geçirmelidir.

+0

Görüyorum, bu bir ScrollView beklenen davranışı. Teşekkürler! – Erik

+0

Bu yanıt yardımcı olduysa, belki de doğru olarak işaretleyebilirsiniz: P. Teşekkürler! – texmex5