2016-04-04 15 views
0

UIScrollView ile ilgili yardıma ihtiyacım var. Ben yük zamanUIScrollView dinamik olarak eklenen içeriği göstermiyor

func calculateScrollViewSize(){ 
for i in _start ..< numberOfArticles { 
     let articleController = viewControllers[i] 
     articleController.view.frame = view.bounds 
     let x = i * Int(articleController.view.bounds.size.width) 
     print("RECT: ", CGRect(origin: CGPoint(x: x, y: 0), size: view.bounds.size)) 
     articleController.view.frame = CGRect(origin: CGPoint(x: x, y: 0), size: view.bounds.size) 
    } 

    let contentWidth = CGFloat(numberOfArticles) * view.bounds.size.width 
    let contentHeight = view.bounds.size.height 
    scrollView.contentSize = CGSize(width: contentWidth, height: contentHeight) 

    let offsetX = currentPage * Int(view.bounds.size.width) 
    let offsetY = 0 
    scrollView.contentOffset = CGPoint(x: offsetX, y: offsetY) 
    //scrollView.contentInset.top = 0 

    scrollView.setNeedsDisplay() 
} 

ilk 10 defa yüklenir ve gerektiği gibi görüntülenir, ancak:

for i in _start ..< _loopPages { 

     let articleController = createViewController(index: i) 
     viewControllers.append(articleController) 
     articleController.didMoveToParentViewController(self) 
     scrollView.addSubview(articleController.view) 
     articleController.view.setNeedsDisplay() 
    } 

ve bu görüş büyüklüğü hesaplar fonksiyonudur: Bu içerik yükleme am Gelecek 10 görüşüm hepsi beyaz alan. Ekran yönünü değiştirirseniz, sayfalar görüntülenir, ancak benim elde edemeyeceğim tek şey beyaz ekranlardır. Ekranlarda gezinebilir, scrollview'ın boyutu güncellenir, ancak içerik görüntülenmez. Kullanıcı sayfa 10'a kaydırdığında, sonraki 10 yüklenir. Biriniz bana burada neyi yanlış yaptığımı söyleyebilir misiniz?

cevap

0

Sorunum, dinamik olarak eklenen görünümlerin sıfır boyutuna sahip olmasıydı; bu nedenle, viewController'ın (createViewController (index: i) yönteminde oluşturulan) boyutunu, ekranın boyutu olacak şekilde ayarladıktan sonra, her şey çalıştı Bir çekicilik gibi. Bir gün birilerine yardım etmesini umarım.

İlgili konular