Wie füge ich eine Unteransicht mit einem eigenen UIViewController in Objective-C hinzu?

Ich kämpfe mit Subviews, die ihre eigenen habenUIViewControllers. Ich habe einUIViewController mit einer Ansicht (hellrosa) und zwei Knöpfen auf atoolbar. Ich möchte, dass die blaue Ansicht angezeigt wird, wenn die erste Taste gedrückt wird, und dass die gelbe Ansicht, die mit der zweiten Taste angezeigt wird, gedrückt wird. Sollte einfach sein, wenn ich nur eine Ansicht anzeigen wollte. Da die blaue Ansicht jedoch eine Tabelle enthält, benötigt sie einen eigenen Controller. Das war meine erste Lektion. Ich habe angefangen mitdiese SO Frage Wo ich gelernt habe, brauchte ich einen Controller für den Tisch.

Also mache ich hier ein paar kleine Schritte. Unten sehen Sie ein Bild eines einfachen Startpunkts mit meinem DienstprogrammViewController (der Hauptansicht-Controller) und die anderen beiden Controller (blau und gelb). Stellen Sie sich das beim Utility vorViewController (die Hauptansicht) wird zuerst angezeigt. Die blaue (Standard-) Ansicht wird dort angezeigt, wo sich die rosa Ansicht befindet. Benutzer können auf die beiden Schaltflächen klicken, um vor und zurück zu wechseln, und die rosa Ansicht wird NIEMALS angezeigt. Ich möchte nur, dass die blaue Ansicht dahin geht, wo die rosa Ansicht ist, und die gelbe Ansicht dahin geht, wo die rosa Ansicht ist. Ich hoffe das macht Sinn.

Ich versuche es zu benutzenaddChildViewController. Nach dem, was ich gesehen habe, gibt es zwei Möglichkeiten, dies zu tun: Die Containeransicht in derstoryboard oderaddChildViewController programmatisch. Ich möchte es programmatisch machen. Ich möchte kein verwendenNavigationController oder eine Tab-Leiste. Ich möchte nur die Controller hinzufügen und die richtige Ansicht in die rosa Ansicht verschieben, wenn die zugehörige Schaltfläche gedrückt wird.

Unten ist der Code, den ich bisher habe. Ich möchte nur die blaue Ansicht anzeigen, in der sich die rosa Ansicht befindet. Nach dem, was ich gesehen habe, sollte ich einfach in der Lage seinaddChildViewController und addSubView. Dieser Code macht das nicht für mich. Meine Verwirrung überwältigt mich. Kann mir jemand helfen, die blaue Ansicht dort anzuzeigen, wo die rosa Ansicht ist?

Dieser Code soll nichts anderes tun, als die blaue Ansicht in viewDidLoad anzuzeigen.

IDUtilityViewController.h

#import <UIKit/UIKit.h>

@interface IDUtilityViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIView *utilityView;
@end

IDUtilityViewController.m

#import "IDUtilityViewController.h"
#import "IDAboutViewController.h"

@interface IDUtilityViewController ()
@property (nonatomic, strong) IDAboutViewController *aboutVC;
@end

@implementation IDUtilityViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.aboutVC = [[IDAboutViewController alloc]initWithNibName:@"AboutVC" bundle:nil];
    [self addChildViewController:self.aboutVC];
    [self.aboutVC didMoveToParentViewController:self];
    [self.utilityView addSubview:self.aboutVC.aboutView];
}

@end

--------------------------BEARBEITEN----------------------- -------

Die self.aboutVC.aboutView ist null. Aber ich habe es im verdrahtetstoryboard. Muss ich es noch instanziieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage