Ich habe eine relativ einfache App. Ich habe eine Vollbild-UIView-Unterklasse (musicGridView), mit der der Benutzer interagiert, und eine UIScrollView-Unterklasse (scrollView), in die diese Klasse geladen wird, sowie einen ViewController und mainWindow.xib.MVC: Wo Ansichten laden?
Momentan habe ich eine ViewController-Instanz in der nib geladen, die vom Typ myViewController ist. Die Nib hat auch eine Instanz von myUIView, auf die der myViewController zeigt.
In AppDelegate, ich dies tun:
[window addSubview:scrollView];
[scrollView addSubview: viewController.view];
scrollView.musicGridView = (MusicGridView*) viewController.view;
was ich denke, ist falsch. Im Idealfall hat das appDelegate keine Instanz von scrollView.
In der AwakeFromNib-Klasse von scrollView führe ich die Initialisierung in der scrollView durch.
Ich denke, es sollte gehen, laden Sie das [window addSubview: viewController.view] in appDelegate, und zeigen Sie dann den ViewController auf eine Instanz von scrollView anstelle von musicGridView. Dann fügen Sie in scrollView watchFromNib eine Unteransicht von musicGridView hinzu.
Schließlich möchte ich eine andere Ansicht erstellen, die scrollView gehört und eigentlich eine seitliche TabBar ist (was mit den angegebenen APIs nicht möglich ist), die der Benutzer nach links scrollen kann, um zu erreichen.
Also ich denke, neben anderen MVC Zeug, die Frage ist, sollte der ViewController auf die ScrollView, die alle anderen Inhalt UIView Unterklassen enthält, einschließlich musicGridView?
Also ... Ich habe es versucht, und bekomme nur einen leeren Bildschirm. Nicht sicher, wo ich falsch liege ... – Craig