2016-08-08 77 views
0

Ich versuche eine Ansicht von meinem Storyboard zu einem UIScrollView hinzuzufügen. Ich brauche die Ansicht, die eine X Höhe der Zeit zu addieren und ich tue dies mit einem for-SchleifeScrollview zeigt nur die zuletzt dynamisch hinzugefügte Unteransicht

sectionViewController = self.storyboard?.instantiateViewControllerWithIdentifier("SectionViewController") as! SectionViewController 

... 

for index in 0..<numberOfSections { 
      let subViewFrame = CGRectMake(self.scrollView.frame.size.width * CGFloat(index), -64, self.view.frame.size.width, self.view.frame.size.height) 

      let subView = sectionViewController.view 
      subView!.frame = subViewFrame 
      subView.tag = index 

      self.scrollView .addSubview(subView!) 
     } 

Die Scrollview erstellt wird programmatisch wie diese

self.scrollView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) 

self.scrollView.pagingEnabled = true 
self.scrollView.alwaysBounceVertical = false 

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * CGFloat(numberOfSections), 0) 
self.scrollView.scrollsToTop = false 

scrollViewFrame = CGRectMake(0, 100, self.scrollView.frame.size.width, self.scrollView.frame.size.height) 

self.scrollView.frame = scrollViewFrame 

self.view.addSubview(self.scrollView) 

So füge ich die Subviews danach. Das Problem ist, dass nur die letzte Unteransicht angezeigt wird. Wenn also numberOfSections = 10 ist, wird nur die 10. Unteransicht angezeigt. Was mache ich hier falsch?

Antwort

1

Stattdessen gleiche Ansicht wie subview für alle Index zuzuweisen (lassen SubView = sectionViewController.view), für jeden Index unterschiedliche Instanz von SectionViewController

Ansicht erstellen
+0

Ich habe das versucht und jetzt sehe ich überhaupt keine Unteransicht mehr. Was Sie sagen, macht viel Sinn, also muss es etwas anderes sein. – Jaimy

0

nach @Annie_Dev ‚s Vorschlag versuchen andere Farbe zuweisen für selbst und Fügen Sie Subviews hinzu, um zu prüfen, ob Subviews hinzugefügt wurden oder nicht.

+0

Haben das jetzt und alle Unteransichten eine andere Hintergrundfarbe, aber nur die letzte zeigt die Unteransicht vom Storyboard. Keine Ahnung, was falsch sein könnte. – Jaimy

0

Also nach viel herum Graben und versuchen eine Menge Dinge, fand ich endlich das Problem. Ich hatte viele widersprüchliche Einschränkungen in meiner Unteransicht. Sobald ich diese repariert hatte, zeigte sich alles wie es sollte.