容器视图控制器中childViewController的大小和位置

时间:2013-01-30 02:12:35

标签: ios uiviewcontroller

首次使用容器视图控制器。我想创建以下内容:

- (void)viewDidLoad
{
    [super viewDidLoad];
    FirstViewController *vc=[[FirstViewController alloc] init];
    self.fVC=vc;

    CGRect myFrame=CGRectMake(10.0f, 10.0f, 50.0f, 100.0f);  // <- how do I assign this frame to either my View Controller or the space to which that view will be assigned? 
    self.fVC.view.backgroundColor=[UIColor orangeColor];
    [self addChildViewController:self.fVC];

    [self.view addSubview:self.fVC.view];
    [self.fVC didMoveToParentViewController:self];
    // Do any additional setup after loading the view, typically from a nib.
}

目前,这使得子视图占据了整个屏幕。我想将fVC分配给myFrame。我该怎么做?

****更新#1 **

将childVC设置为类似上述内容:

self.fVC.view.frame=myFrame;

将它设置为空格,但它并不真正尊重文本的结尾等......?我该怎么处理?

事先提前

UPDATE2

对不起大图片,只是为了展示正在发生的一切。我认为它可能与评论中提到的剪辑视图有关。

与     CGRect myFrame = CGRectMake(10.0f,10.0f,250.0f,300.0f);

enter image description here

并且:     CGRect myFrame = CGRectMake(10.0f,10.0f,250.0f,100.0f);

enter image description here

2 个答案:

答案 0 :(得分:1)

我不确定你是否还有问题。要解决标签不在视图中的问题,最好在xib中使用自由形式控制器,并将其大小调整为将其添加到其他控制器视图时要使用的大小。通过这种方式,您可以直观地进行布局。

答案 1 :(得分:0)

基本上,我需要设置我的布局值:

self.fVC.view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

生活和学习