3

我正在尝试按照iOS 的 View Controller Programming Guide在我的应用程序中实现容器视图。目前我只是想加载一个初始的第一个视图,但是第一个控制器中包含的标签没有显示出来。最后,我希望能够通过使用分段控件来控制在容器中显示哪个视图。

任何帮助将不胜感激。

我的故事板

故事板截图

视图控制器.h

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIView *contentController;

- (IBAction)SegmentedControlValueChange:(UISegmentedControl *)sender;

@end

视图控制器.m

#import "ViewController.h"

#import "FirstController.h"
#import "SecondController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    FirstController *firstController = [[FirstController alloc] init];
    [self displayContentController:firstController];
}

- (IBAction)SegmentedControlValueChange:(UISegmentedControl *)sender
{
}

- (void)displayContentController: (UIViewController *)content
{
    [self addChildViewController:content];

    content.view.frame = [self frameForContentController];

    [self.view addSubview:content.view];

    [content didMoveToParentViewController:self];
}

- (CGRect)frameForContentController
{
    return self.contentController.bounds;
}

@end
4

1 回答 1

3

如果FirstController它是情节提要的一部分,那么您必须从情节提要中加载它。

尝试做

FirstController *firstController = [self.storyboard instantiateViewControllerWithIdentifier:@"yourIdentifier"];

于 2014-07-22T13:22:29.067 回答