У меня есть ViewController и еще 3 контроллера, я хочу поместить их в свой ViewController.интерфейс childViewControllers
Вот код, где я делаю childViewControllers и добавляю их. С разными цветами, чтобы убедиться, что я прав с подсчета кадров.
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
EnterAndLogViewController *EALViewController = [[EnterAndLogViewController alloc]init];
SentPacksViewController *SPViewController = [[SentPacksViewController alloc]init];
RecievedPacksViewController *RPViewController = [[RecievedPacksViewController alloc]init];
[self makeChildViewController:EALViewController];
[self makeSizeOfEALViewController:EALViewController];
[self makeChildViewController:SPViewController];
[self makeSizeOfSPViewController:SPViewController];
[self makeChildViewController:RPViewController];
[self makeSizeOfRPViewController:RPViewController];
}
- (UIColor *)makeColor
{
CGFloat hue = (arc4random() % 256/256.0); // 0.0 to 1.0
CGFloat saturation = (arc4random() % 128/256.0) + 0.5; // 0.5 to 1.0, away from white
CGFloat brightness = (arc4random() % 128/256.0) + 0.5; // 0.5 to 1.0, away from black
UIColor *color = [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];\
return color;
}
- (void) makeChildViewController:(UIViewController *) controller
{
[self addChildViewController:controller];
[self.view addSubview:controller.view];
[controller didMoveToParentViewController:self];
}
- (void) makeSizeOfEALViewController: (EnterAndLogViewController *) controller
{
CGRect myFrame=CGRectMake(20.0f, 20.0f,self.view.bounds.size.width - 40.0f , (self.view.bounds.size.height - 40.0f)/2.0f);
controller.view.frame = myFrame;
//controller.view.backgroundColor = [self makeColor];
}
- (void)makeSizeOfSPViewController : (SentPacksViewController *) controller
{
CGRect myFrame=CGRectMake(20.0f, (self.view.bounds.size.height - 40.0f)/2.0f +20 , (self.view.bounds.size.width- 40.0f)/2 , (self.view.bounds.size.height - 40.0f)/2.0f);
controller.view.frame = myFrame;
controller.view.backgroundColor = [self makeColor];
}
- (void) makeSizeOfRPViewController : (RecievedPacksViewController *) controller
{
CGRect myFrame=CGRectMake(20.0f + (self.view.bounds.size.width- 40.0f)/2 , (self.view.bounds.size.height - 40.0f)/2.0f +20 , (self.view.bounds.size.width- 40.0f)/2 , (self.view.bounds.size.height - 40.0f)/2.0f);
controller.view.frame = myFrame;
controller.view.backgroundColor = [self makeColor];
}
В моем раскадровки меня есть 1 контроллер (ViewController) и 3 еще мои ViewControllers. Но когда я добавляю некоторый интерфейс к этим контроллерам, на моем основном ViewController они не отображаются.
пример: Я добавляю кнопку в свой EnterAndLogViewController в раскадровке, делая выход и действие, но эта кнопка не отображается в моем основном ViewController.
Почему? Можешь мне помочь?
Это работает, спасибо. Я забыл об этом методе, это очевидно. Теперь я понимаю, как это сделать. Я хочу сделать так, спасибо за ваше время! – SpencerReid